Computer Games Series
Computer Games Series
GIOCHIAMO
CON
ATARI
GIOCHIAMO CON ATARI
GIOCHIAMO
CON
ATARI
Paul Bunn
GREMESE EDITORE
■■1
■■■
■■■
■■1
hi
j[ |
IBI
IBI
IBI
IBI
IBI
■■1
IH
HI
■■1
■■i
GIOCHIAMO ex IN A I ARI
IBI
IBI
IBI
IBI
IBI
■al
L_L
n:
JZL
n
n
IBI
IBI
IBI
IBI
IBI
T
Computer Games Series
Periodico mensile
N. 6 - Agosto 1984
Registrazione Trib. di Roma N. 138/84
del 24 marzo 1984
Direttore responsabile: Grazia Vaici
Titolo originale
Games for your Atari
Traduzione dall’inglese
Flavia Pietromarchi
Edizione italiana a cura di
Giancarlo Zagarese
Design
Ray Hyden
Illustrazioni
Sue Walliker
Fotocomposizione
Typo-centro s.n.c. - Roma
Stampa
Litopat - Verona
© 1983 Interface/Virgin Books
© 1984 GREMESE EDITORE s.r.l.
Via Virginia Agnelli, 88 -00151 Roma
Tutti i diritti riservati. Nessuna parte di questo libro
può essere riprodotta, registrata o trasmessa, in qual¬
siasi modo o con qualsiasi mezzo, senza il preventivo
consenso dell’Editore.
ISBN 88-7605-121.-X
Sssasssrl
GIOCHIAMO CON ATARI
■■■■■■■■■■■■
Alla mia famiglia
e agli amici
? I
l
:::
^ GIOCHIAMO CON ATARI -
±]
j
PAUL BUNN — AUTORE
Paul Bunn è uno studente di sedici anni e ha un Atari da un anno e
mezzo. Paul ha anche scritto un manuale di programmazione per
l’Atari, intitolato Total Control, pubblicato da Interface.
TIM HARTNELL
CURATORE DELL’EDIZIONE INGLESE
Tim Hartnell è un eminente giornalista la cui esperienza compute¬
ristica ha contribuito a determinare il successo della Technical
Consumer Press. È anche l’autore di diversi libri, tra i quali: Get-
ting Acquainted With Your ZX81, Let Your BBC Micro Teach You
to Program e Programmirìg Your ZX Spectrum.
GIANCARLO ZAGARESE
CURATORE DELL’EDIZIONE ITALIANA
Giancarlo Zagarese, insegnante di discipline scientifiche, è autore
di oltre 250 articoli e di vari volumi nei settori dell’elettronica e
dell’attività subacquea. Per GREMESE EDITORE ha qià collabora¬
to in II Sub per tutti e II Sub in apnea della serie “gli Abbiccì ”.
SUE WALLIKER—ILLUSTRATRICE
I Sue Walliker è un’illustratrice free-lance.
RINGRAZIAMENTI
L’autore ringrazia il personale del Micro-C di Fishponds, Bristol,
che cortesemente gli ha messo a disposizione una stampante
mentre la sua era in riparazione.
! 1
1
c
GIOCHIAMO CON Al AKl p.
I]
ir
INDICE
Introduzione. 9
Introduzione dell’autore.10
Prefazione all’edizione italiana. 11
Skydiver (Il paracadutista). 13
3D Noughts and Crosses ("Filetto” spaziale).19
Race (La corsa).25
Lunar Landing (La discesa sulla Luna ).29
Decision Maker (Decisioni difficili).35
Safe Cracker (Lo scassinatore).38
Tank Battle (Battaglia di carri armati).52
Digit Dodge (il cacciatore di numeri).56
Grand Prix2 (Gran Premio di Formula 2).58
City Bomb (Bombe sulla città).60
Engulf (Contro l'alieno).64
Colour Pattern (Colori in movimento).68
Colour Puzzle (Puzzle di colori).69
String Pattern (Suoni e disegni).73
Sound Program (Il pianoforte).74
Display List Interrupt Example (Esempi di Display List lnterrupt)76
Reaction Timer (Tempo di reazione).77
Morse Code (Codice Morse).79
Compliment Generator (Il generatore di complimenti).81
Space Cocker (Attracco nello spazio).82
Ski Run (Lo sciatore).88
Come scrivere programmi migliori.95
Glossario.103
Traduzioni.119
■■
■■■
■■■
m
rrm
■■
■■■
| | | | | | GIOCHIAMO CON ATARI |||
■■■
■■
■■■■
LLJJ
cm
m
rrm
Introduzione
Il vostro computer è in attesa per sfidarvi. Rapidi «games»
di grafica, giochi di concentrazione, di parole e di enigmisti¬
ca sono tutti qui pronti a farvi divertire.
Nel libro vi sono una notevole varietà di giochi i cui pro¬
grammi sono stati scritti da alcuni fra i più giovani e abili
programmatori che lavorano attualmente in Gran Breta¬
gna. L’esaminare i programmi dei giochi vi dà la possibilità
di apprendere raffinate tecniche e sottili metodi di pro¬
grammazione che voi stessi potete poi applicare. Inoltre,
una volta che avete conosciuto a fondo i programmi pre¬
sentati dal libro, potreste senz’altro provare a migliorarli —
un programma non è mai "perfetto” — arricchendo le vo¬
stre capacità di programmazione. Adesso voltate pagina e
incominciate a "battere” i programmi. Sono certo che il vo¬
stro divertimento sarà pari a quello che abbiamo provato
durante la stesura di questo volume.
9
■r
■■■
■■■
■■■1
1
■■
■■i
■■■
IBI
IBI
c
■■
■■i
IBI
■HI
_j GIOCHIAMO (;ON À 1 ARI ^
■■■■■
■■■
IBI
IBI
IBj
1
X
xi
3X
m
■■
■■i
■■a
IBI
IBI
•3
Introduzione
deirautore
In questo libro ho cercato di illustrare il maggior numero
possibile di programmi che sappiano sfruttare appieno le
capacità degli home computer Atari 400/800. Molti pro¬
grammi utilizzano insiemi di caratteri ridefinibili, e alcuni
usano l’ottima capacità grafica dei computer Atari chiama¬
ta “player-missile” (giocatore-missile). Spero che vi diverti¬
rete con questi giochi anche se penso che vi sarà molto più
utile esaminare i listati per comprenderne il funzionamen¬
to. Vi sarà utile, inoltre usare le idee suggerite in questo li¬
bro per applicarle ai vostri programmi.
io
r
f 1
IL
et
_i GIOCHIAMO CON A1 ARI j- - -
i:
T
Prefazione
all’edizione italiana
È con piacere che ho accolto l’invito dell’editore Gremese
per curare una serie, finalmente in italiano, di volumetti sui
videogiochi. Molti acquirenti di piccoli e medi personal
computer, sia che lo utilizzino personalmente sia che ne
abbiamo fatto oggetto di regalo ai propri figli si sono fatti
trascinare dalla pubblicità che precisava «al prezzo di un
semplice video-gioco acquistate un intero computer». È ve¬
ro ed è stato un buon acquisto. Per imparare ad utilizzare
un computer in modo semplice e divertente non c'è però
niente di meglio della via ludica. Non giochi comprati e frui¬
ti passivamente, però, ma "creati” e vissuti, istruzione do¬
po istruzione prima compiendo e poi personalizzando o “in¬
ventando", in modo da accedere gradualmente nel nuovo
mondo dell’informatica.
g.z.
11
-j---—r -
i
c
SK'YPJVFR
io
r
SKYDIVER
(Per questo gioco si usa il joystick)
Questo programma utilizza dei caratteri definiti dall’utente
e una grafia “player-missile”. È opportuno che chi soffre di
vertigini non giochi, poiché si deve raggiungere il maggior
punteggio possibile con 10 lanci nel vuoto.
Il vostro aeroplano vola attraverso la parte superiore dello
schermo: per lanciarvi dovrete premere il pulsante rosso.
Vi troverete a scendere a velocità sostenuta. Se desiderate
rallentare, “abbassate” il joystic per aprire il vostro para¬
cadute. Guadagnerete dei punti premio scendendo con
bravura sulla piattaforma di atterraggio. Questi punti dipen¬
dono dall’Istante di apertura del paracadute: il vostro pun¬
teggio sarà tanto più alto quanto più tardi lo aprirete. Non
potete, però, aprire il paracadute al di sotto di una certa
quota. Un punteggio attorno a 12.000 è discreto. Buon at¬
terraggio!
13
r
1 i
1
et
GIOCHIAMO CON A I ARI
+]
t:
T
10 REii tt SKV DI UER - NRITTEN BV XX
20 REP1 XX PAUL BLINH DECEHBER 1982 XX
25 IF PEEKX 203 >=F'EEKX 106>-8 THEN 40
30 GOSUB 10000:REH INITIALIZATION
40 Diri PLANEtt 1 >,P1AN*< 1 >,CHUTE*< 1 >,BASE*
< 1 >,LINE$X 1 )
50 PLANE$=CHR$< ASC< " & " )+128 > : PIAN* = “ ! " : LI
NE*=CHR$<ASC<>+96>
55 FOR JUP1F-1 TO 10
60 GRAPPI ICS 17 : SETCOLOR 2,12,10: POKE 16 ,
64: POKE 537,-4,64
61 POKE 53277,3:REM * ENABLE PLAYER MISS
ILE GRAPHICS *
62 POKE 539,46:PEPI * DOUBLÉ LINE RESOLUT
ION FOR PLAVERS X
63 POKE 54279,PEEKX 204 >:REM X TELL ANTIC
WHERE PM GRAPHICS ARE IN RAPÌ X
64 POKE 53256,3:POKE 53257,3:REM X QUADR
OUPLE SIZE FOR CLOUDS X
65 POKE 704,8:POKE 705,14:REM X COLOUR F
OR CLOUDS X
66 K3=INT<RrCK 0>X100>+75:POKE 53248,X3:R
EP1 XX RANDOP1 HORIZONTAL POSITION FOR CLO
UD 1 XX
67 X4=INT<RND<8>X100>+75:POKE 53249,X4:R
EM XX RANDOPI HORIZONTAL POSIT ION FOR CLO
UD 2 Xx-
68 POKE 623,1: REM X SET PRIORITV BETHEEN
PLAVERS ArCt PLAVFIELDS X
69 POKE 53278,255:REH X CLEAR COLLISION
DETECTION REGISTERS X
70 POKE 756,PEEKX 203 >: SETCOLOR 3,3,4: REP1
X POI NT TO NEH CHARCTER SET IN RAPÌ INST
EAD OF ROM X
80 X= 1 : BASE** " # " : CHUTE*=CHR$< ASC< " " >+12
8 j
65 REl'ì XX F'RINT BASE LINE XX
90 FOR P=© TO 19
100 POS IT ION F',23
110 PRINT #6ìLINE$ì
120 NEMT r
130 BASE=INT< RND<O>X16 >+2
140 POSITION BASE,22
14
j:
I 7
1
4
---
---
---
---
---
SKYDIVER r :
---
---
---
---
---
158 ? #6;BASE*
155 REFI tt PIA IN PROGRAH LOOP ##
160 POS ITI ON X,0:? #6 # F‘L ANE£- : POS ITI OH X-
1 fi • •? 4fcC - h H
178 X=X+1:IF X<19 THEN 190
180 POSITION X-l,0:? #6i" “:X=1
185 REFI tt JOYSTICK ROUTINE TX
198 S1=STICK(0>:S2=STRI6(0>
191 X3=X3-3:IF X3<20 THEN X3=228
192 X4=X4+3:IF X4>220 THEN X4=20
193 POKE 53248,X3:POKE 53249,X4
200 IF riHN=8 AND S2=0 THEN 60SUB 1000
285 IF P1AN=1 THEN LOCATE X2,V2,Z
210 IF P1AN=1 THEN POSITION X2,Y2:? #6; PIA
m
220 IF CHUTE=1 THEN POSITION X2,V2-1:? #
8jCHUTET:FOR F‘=l TO 1@0:NEXT P
222 IF PEEK< 53252)00 OR PEEK<53253X >0
THEN 2086
225 IF V2=22 HND P1AN=1 THEN 2000
230 0X=X21X2=X2+<S1=7 >-(X2 >18 )
240 GY=V2 : X2=X2-< S1=11 ;•+< X2< 1 ) : V2=V2+1
250 IF SI = 13 AND FIAN=1 AND CHUTE=0 AND Y
2<19 THEN CHUTE=1:FOR T=8 TO 50:SOUND 0,
T,120,15:NEXT T: SOUND 0,0,0,0:C=V2
255 IF HAN=0 THEN 180
260 PUS ITI UN UX,UY~ #8i"
278 POSITION OX,Y2-1 : ? #6;" "
280 80T0 160
999 REFI « PIAN OPENS CHUTE TX
1000 HAN= 1 : Y2=2 : X2=X
1010 FOR F‘=3fi TO fi STEP -2:SOUND 0,P,120
,15:NEXT P: SOUND 0,0,0,0: RETURN
2000 IF Z=ASC<BASE$> THEN GOTO 3000
2010 FOR G=0 TO 255
2028 SOUND 0,6,10,15:POKE 708,G
2030 NEXT G
2840 FOR 6=255 TO fi STEP -3
2050 SOUND 0,6,10,15:POKE 788,G
2860 NEXT G
2078 SOUND 0,0,0,0
15
r
■■i
IBI
IBI
TT
TT
•j t~ tztt: l:
IBI
IBI
IBI
IBI
rr
1_
■■
■■i
IBI
IBI
IBI
IBI
__ GIOCHIAMO CON ATARI
IBI
IBI
IBI
IBI
IBI
IBI
t:
u
TL
n
IBI
IBI
XI
IX
XI
XX
XX
X
2086 POSITIOH 0*0:POKE 708*104
209© ? #8 J">>> > >SPLAT<< < < <"
2085 ? #6*"SCORE:"*SCORE
2100 ? #6:? #6;"PRESS start TO PLAY"
2110 POKE 53279*0
2120 IF PEEK<53279X>6 THEN 2116
2130 RUH
3000 POSITIOH 0*0
3010 IF CHUTE=1 THEH 3500
3020 ? #6*"VOU DIO HOT HAUE“
3030 ? #6;"your chute open"
3040 ? #6:? #6*" OHCH ..."
3050 ? #6
3060 FOR P=0 TO 150 STEP 2
3070 SOUMD 0*P*12*15
3£i8£i NfcXT P
3090 SOUHD 0*01*0*0
3100 GOTO 2095
3500 ? #6««eli done ..."
35101 ? #6i "VOU F1ANAGED TO LAND"
3520 ? #6j"0H THE PAD WITH VOUR"
3530 ? #6;"CHUTE OPEH
3540 POSITIOH 3*10:? #6;"seore: »
3550 B0HiJS=C&75
3560 FOR P=0i TO BOHUS STEP 5
3570 POSITIOH 9*10:? #6*SC0RE+P
3580 SOUHD @*P?25*10*15
3590 HEXT P
3600 SCURE=SCURE+BONUS
3610 SOUHD 0*0*0*0
3620 f‘lAH=0: CHIJTE=@: HEXT JUP1P
3630 GRAPHICS 2:F'UKE 53248*0:PuKE 53249*
0
36401 ? #6; "VOU 1 UE SUCCESSFULLV"
3650 ? #6i" LAMDED 10 TIHES"
3660 ? #6
3678 ? #6*"your final score
3680 ? #6**" "i SCORE
3690 SETCOLOR 2*0*0
3700 FOR F-5 TO 200 STEP 3
16
r
"
•
1 ' 1
i
4
---
---
---
SKYDIVER r :
---
_
:z:
---
P
3710 FOR G=P-5 TCi P+5
3720 SOUND 0,6,10,15
3730 NEXT 6
3740 SETCOLOR 1,RND< 0 >$15,8
3750 NEXT P
3760 SOUND 0,0,0,0
3770 END
10000 RfiH=PEEK< 106 >-8: A=256XRAP1
10010 GRAPHICS 0
10020 SETCOLOR 4,9,2:SETCOLOR 2,9,2
10030 PRINT CHRfR127> ì "PLEASE HAIT A LIT
TLE HHILE"
1 0040 pr i nt chr$< 127 > i “ *mm**m*m*
i0050'POKE 752,1:PRINT
i 0055 REA XX COPV CHARACTER SEI FROA ROPÌ
IHTO RAPI
10060 FOR P=0 TO 1023
10070 pure h+p , peer< 57344 +p >
10080 SOUND 0,PEERC53770 >,10,2
10090 NEXT P:SOUND 0,0,0,0
10100 READ X
10110 IF X<0 THEN PORE 203,RAPI: GOTO 1022
M
i 0 1U0 t UH p=0 Tu 7
10130 READ V
i0140 POR t <XX8 >+A+P,V
10150 NEXT P
10160 GOTO 10100
10165 REP1 XX DATA FOR REOEFINED CHARACTE
RS XX
10170 DATA 1,153,189,153,126,60,60,66,12
10180 DATA 5,0,0,0,24,60,126,195,129
10190 DATA 3,255,255,255,255,255,255,255
,255
10200 DATA 6,16,8,132,194,255,2,4,8
10210 DATA -1
10220 R=RAH-8
10225 REA XX CLEAR OUT PLAVER PI ISSI LE GR
APHICS AEflORV XX
17
I I
1
q
GIOCHIAMO CON ATARI p
3D
T
i£i23tì FuR P—5 liì TU 7Stì
10240 POKE R*256+P,0:NEXT P
10245 REP1 « POKE IN DOTO FOR CLOUD PLAY
ERS «
10250 FOR F-0 TO 7
10260 READ X
10270 POKE R&256+70+P+512 , X
10280 POKE R*256+50+P+640 » X
10290 NEXT P
10300 POKE 204jR
10310 RETURN
10315 REFI « DATA FOR P.F1. GRAPHICS «
10320 DATA 16,126,127,255,126,62,28,8
18
r—
i
c
:: :: 3 d noughts and crosses ::: : :
t]
T
3D NOUGHTS
AND CROSSES
(Tastiera)
Questo gioco, scritto da Roland Marriott, richiede un com¬
puter con una memoria di 24K; potete giocare con il com¬
puter o con un amico. Per vincere dovete riuscire a dispor¬
re quattro quadrati dello stesso colore su una riga. Vi sono
quattro livelli, da sinistra a destra, denominati A, B, C e D.
Per fare la vostra mossa, battete innanzitutto una lettera
corrispondente a un livello (A-D). Poi introducete due cifre
in corrispondenza della posizione sul livello. Le posizioni
sono numerate da sinistra verso destra a partire da 01 a 16
in questa maniera:
13
14
15
16
09
10
11
12
05
06
07
08
01
02
03
04
Ecco alcuni esempi di possibili mosse, ma notate che non
si deve premere il tasto RETURN:
D15
A05
B10
C02
B16
Quando vi si chiederà quanti giocatori vogliono prender
parte al gioco, premete ‘1 ’ se volete giocare contro il com¬
puter, oppure premete '2' se preferite giocare con un ami¬
co.
19
GIOCHIAMO CON ATARI
1 RE PI # 3D NOUGHTS AND CROSSES BY *
£ REP1 * ROLAND P1HRRIOTT *
3 ren
4 GOSUB 3900
5 DIN SPACE<64,2>:DIN NARKX64>:DIN BLOB<
86 , 3 > : DIN HZ< 46)
6 CL=0
7 GOSUB 6080
10 GRAPHICS 7+16:COLOR 1
17 SETCOLUR 2 , 1 ìi , fa' : SETCULUR 4, u , 3
18 SETCOLOR 1,4*8:SETCOLOR 0,2,6:SETCOLO
R 3,3,8
20 FOR X=Ù TO 129 STEP 43
30 FOR V=95 TO 30 STEP -1
40 PLOT X,VsDRAWTO X+30,V-30
59 NEXT V
60 NEXT X
61_PLOT 0,28:DRAWTO 28,0:PLOT 0,27:DRAMT
U ci I'' , 0
62 FOR RT=0 TO 86 STEP 43
63 PLOT RT+41,95:DRAWTO RT+41,30:DRAWTO
RT+71,0:PLOT RT+48,95:DRAWTO RT+40,30:DR
AWTO RT+70,6
64 NEXT RT
65 COLOR 0:SETCOLOR 4,9,2
66
FOR
*7;
=0
TO 129
STEP
70
FOR
V
=91
. TO 31
STEP
f* cL
FOR
X :
=1
TO 31
STEP 9
74
FOR
A :
=0
TO 1
760 PLOT
Z4
-X+A,V-
A-X+3 :
730 NEXT A
850 NEXT X
900.NEXT V
950 NEXT 2
1000 FuR P=1 Tu €'4: READ H,>J
1010 SPACE( P, 1 >=H : SPACE'i P, 2 >=J
1012 NEXT P
1015 IF PEEKX 764>=255 THEN 1015
20
r
[t
■ 3D NOUGHTS AND CROSSES
12
n:
_
_
j
1016 CLOSE #1: OPEN #1,4,8,"K:":GET #Ì,N
1017 IF W<65 OR W>63 THEN POKE 764,255:6
OTO 1015
1013 IF W=65 THEN N=0:IF W=66 THEN N=16:
IF W=67 THEN N=32
1019 IF N=66 THEN N=16
1020 IF W=67 THEN N=32
1021 IF W=68 THEN N=43
1023 POKE 764,255
1024 IF F'EEKC764 >=255 THEN 1024
1025 CLOSE #5:OPEN #5,4,0,“K:SET #5,Z
1026 IF Z<48 OR Z>49 THEN POKE 764,255:6
OTO 1024
1027 POKE 764,255
1028 CLOSE #4:OPEN #4,4,0, 11 K: ":SET #4,WH
:IF HH<48 OR WH>57 THEN POKE 764,255:60T
0 1027
1033 PEPI FOR TR=0 TO 2
1034 SF-N+1 Z-48 >+WH-48: LOCATE SPACEC S
P, 1 > , SPACEC SP , 2 > , 6H : IF 6HO0 THEN SOTO 1
kj 15
1035 CL=CL+1:IF CL=2 THEN CL=W
1036 FOR RV=15 TO 0 STEP -1:COLOR (RV+CL
+2 ■' : SET COLOR 1,3,4
1037 FOR TR=0 TO 2
1038 PLuT 8 F'AlE< sF‘ , 1 ,>+TR , SF’AL-EC 8P ,2 TR :
DRAWTO SPACEC SP, 1 >+TR,SPACEC SP ,2 >-TR-3
1039 NEXT TR:NEXT RV
1040 CLOSE #1
1042 FOR PQ=1 TO 64
1044 LOCATE SPACEC PQ,1>,SPACECPQ,2>,U
1046 P1ARKC F'Q >=U: NEXT PQ
1050 C=CL+2
1100 A=1 :B=16:D=16:E=1:60SU8 1400
1105 A=1 : E:=61 : D=1 : E=4: GOSUB 1400
1110 A=1 :B=13:D=17:E=4:GOSUB 1400
1115 A=4:B=16:D=15:E=4:60SUB 1400
1120 A=1 :B=4: 0=28:E=1 :GOSUB 1480
1125 A=13:B=16:D=12:E=1:GOSUB 1480
1130 A=1 :B=1:D=21 :E=1 :GOSUB 1488
1135 A=13:B=13:D=13:E=1 :GOSUB 1488
21
■■■
■■■
■■1
■■■1
"i r
■■■
■■■
■■1
■■1
1
■■■
■■■
HI
■ HI
._j GIOCHIAMO C.'ON A CARI
■■■
■■■
■■1
■■1
■■1
LL
J_L
J_L
TTT
■■■
■■■
■■1
■■1
T
1140 0=16 s B=16: 0=11:E=1 : GOSUB 1490
1145 0=4:B=4:D=19:E=1:GOSUB 1400
1150 0=1 :B=49: 0=5:E=16:GOSUB 1400
1155 0=4:B=52: 0=3:E=16:GOSUB 1400
1160 0=1:B=4iD=4:E=1:GOSUB 1400
1165 0=17:B=20:D=4:E=1:GOSUB 1400
1170 0=33:B=36:D=4:E=l:GOSUB 1400
1175 0=33:B=36:D=4:E=l:GOSUB 1400
1180 0=49:B=52:D=4:E=1:GOSUB 1400
1299 IF PL0VER=1 0ND CLO0 THEH GOTO 150
0:REH IF CL=0 THEN GOTO 1015
1300 GOTO 1015
1400 FOR PQ=0 Tu B STEP E
1410 IF ri0RK(PQ>=C 0HD F10RKXPQ+D>=C 0ND
f'IORK 1 -. PQ+2$D >=C 0ND N0RK< PQ+3&D >=C THEN G
0S1JB 1450
1420 NEXT PQ
1430 RETURN
1450 PLOT SP0CE-: PQ , 1 >+1, SP0CE< PQ , 2 >-1 : OR
0WTO SP0CEC PQ+320 , 1 >+1, SP0CEC PQ+3SD , 2 >-1
: RETURN
1500 REP1 FIOCHI NE LOGIC
1600 FOR PQ=1 TO 64
1605 LOC0TE SP0CE<PQ,1>,SP0CE<PQ,2>,U
1606 IF U=2 THEN U=18
1608 IF U=3 THEN U=50
1610 ri0RK< PQ >=',': NEXT PQ
1615 H=0
1620 0=1 :B=16:D=16:E=1 :GOSUB 1700
1625 0=1 :B=61:D=1:E=4:GOSUB 1700
1630 0=1:B=13:0=17:E=4:GOSUB 1700
1635 0=4:B=16:0=15:E=4:GOSUB 1700
1640 0=1 :B=4:0=20:E=l:GOSUB 1700
1645 0=13:B=16:0=12:E=l:GOSUB 1700
1650 0=1 :B=1: 0=21 :E=1:GOSUB 1700
1655 0=13:B=13: 0=13:E=1:GOSUB 1700
1660 0=16:B=16: 0=11 :E=1:GOSUB 1700
1665 0=4:B=4:0=19:E=l:GOSUB 1700
1670 0=1:B=49:0=5:E=16:GOSUB 1700
1675 0=4:B=52:0=3:E=16:GOSUB 1700
1680 0=1:B=4:0=4:E=l:GOSUB 1700
22
_l
TT
TT
TT
l
■
■■
■■■
■ ■1
IBI
3D NOUGHTS AND CROSSES
+]
ZC
Ile
■ ■1
IBI
_
j
1682 fi=17:B=20:D=4:E=1:GOSUB 1706
1686 tì=33:B=36:D=4:E=1:GOSUB 1700
1688 fl=49:B=52:D=4:E=1:GOSUB 1700
1690 GOTO 1740
1700 FOR PQ=fì IO B STEP E
1705 H=H+1
1710 SUn=nflRK< PQ >+PlFtRKX F'Q+D HPIORKC F'O+OXO
>+PlflRKX PQ+3SD >
1720 1F SUn=30 THEN GOTO 1830
1725 BLOB< Fi, 1 >=SUF1 : BLOBC H , 2 >=PO : BLOB':' Fi, 3
>=D ' '
1730 NEXT PQ:RETURN
1740 FOR TZ=1 TO H: IF BLOB<TZ,1 >=15Fi THE
N 60T0 1850
1745 NEXT TZ
1746 tZ=0: FOR TZ=1 TO H
1748 IF_BLOBCTZ,1)=20 OR BLOB<TZ#l>=100
iHEN GU8UB 1860
1750 NEXT TZ: IF VZO© THEN GOTO 1760
1755 GOTO 2050
1760 FOR TZ=1 TO VZ:FOR PZ=2 TO <VZ-1)
1765 IF HZ<TZ>=HZ<PZ> AND TZ< >PZ THEN SP
=HZ< TZ >:GOTO 1035
1766 NEXT PZ:NEXT TZ
1770 IF VZO0 THEN SP=HZ<VZ>:GOTO 1035
1825 GOTO 2050
1830 FOR TK=0 TO 3: IF PlfiRKC PQ+TKXD -'=0 TH
EN SF-PQ+TKXD:GOTO 1035
1835 NEXT TK
1850 REFI DEFENCE
1855 FOR TK=0 TO 3: IF F'ìfìRKXBLOB<TZ,2>+TK
XBLOBC TZ , 3 > >=0 THEN SP=BLOB< TZ , 2 >+TK*BLO
B< TZ , 3 > :GOT0 1035
1857 NEXT TK
1860 FOR P=0 TO 3
1863 IF PlfiRKC BLOBC TZ , 2 HPXBLOBC TZ , 3 > >=0
THEN VZ=VZ+1 : HZC VZ >=BLOBC TZ , 2 HF'XBLOBC TZ
,3 >
1865 NEXT P:RETURN
1890 GOTO 2050
1950 GOTO 2050
23
1 1
n
n
XT
et
^ GIOCHIAMO CON ATARI r
IBI
IBI
IBI
IBI
n:
J_L
XI
II
I
£050 SP=INT<64*RND<1>+1>:IF MARK<SP>=0 T
HEN GOTO 1035
2055 GOTO 2050
3000 REM COUER PAGE
3020 GRAPHICS 2+16:SETCOLOR 4,13,2
3030 POSITION 3,1:? #6i"###############"
3040 POSITION 3,2:? #6;"# 30 NOUGHTS #"
3050 POSITIOH 3,3:? #6i"# AND CROSSES #"
3052 POSITION 3,4:? #6;"# BV ROLAND #”
3054 POSITION 3,5:? #6;"# MARRIOTT #"
3060 POSITION 3,6:? #6;"###############“
3070 POSITION 1,7:? #6i"PRESS start TO P
LAV"
3080 IF PEEKT 53279)=6 THEN RETURN
3090 GOTO 3080
5000 DAT A 1,93,10,84,19,75,28,66
5010 DATA i,73,10,64,19,55,28,46
5020 DATM l,53,ltì,44,19,35,28,26
5030 DATA 1,33,10,24,19,15,28,6
5o40 DAT A 44,9-«*, 5i* , 84 , G«2 , i 5 , 1, 6*6*
5050 DAT A 44 , r i *, 5 -i <, 6>4 ,6*2, 55 , ri, 46
5060 DATA 44,53,53,44,62,35,71,26
50 f 0 DAT A 44, , 5 , 24,6'2 ,15 , f 1, €>
5080 DAT A 81 " , 9-2,9€>,84,105, r 5 , 114,6>6
5090 DAT A 87,73,96,64,105,55,114,46
5100 DATA 87,53,96,44,105,35,114,26
5110 DATA 87,33,96,24,105,15,114,6
5120 DATA 130,93,139,84,148,75,157,66
5130 DATA 130,73,139,64,148,55,157,46
5140 DATA 130,53,139,44,148,35,157,26
5150 DATA 130,33,139,24,148,15,157,6
6000 GRAPHICS 2+16:? #6 i “2 HUMAN PLAVERS
11
6010 ? #6 ì "OR i HUMAN UERSUS m*"
6020 ? #6i" < TtPE 1 OR 2 >"
6030 OPEN #1,4,0,"K:":GET #1,M: IF M< 49 0
R PI>50 THEN POKE 764,255: CLOSE #1:G0T0 6
030
6040 PLAVER=M-48:CLOSE #1
6050 RETURN
24
r
"U E
l
$
---
---
---
---
---
RACE r -
---
---
---
---
---
P
RACE
(Jostick)
In questo gioco, scritto da Paul Dunning, dovete gareggiare
contro altre tre automobili che cercano di coprire il mag¬
gior numero possibile di miglia. Usate il joystick per guida¬
re la vostra automobile in corsa. Premendo il pulsante ros¬
so del jostick potete cambiare marcia. Questo gioco im¬
piega il linguaggio macchina, perciò dovete effettuare il
“SAVE” prima di far girare il programma.
25
GIOCHIAMO CON ATARI
•> o
r •- ©
1
ro
■■
X
co ll.
%
c«
in
©
UJ
r- ..
o ©
p-
ZI
•s»
I--*
LU
uj
*.
mm
o ro
I£ «i
Zi
iti
'X' OJ
•St
1— «H
a co
o
o
ffl ©
■l
ZiSi
ÙL’-'
a.
CL
p-
Ql
a
L_1
■■
«■
©
•H
LL o
■■ o
LL.
ro
©
LUin
UJ
■l
Cl h-
tXi i—i
LL
■.
©
iti in
Zi
OJ
•m ZT “
OJ X
%
GS
•H
o
o
io
•s* cr -
*i
ij.i
■i
CLLU
Cl
r-
■' LL co
'X.I ©
r-
LU
■X'
■■ Zi
mm
'S' LJ =
p-oj
OJ
Zi
'ri-
© o
co
LU
■>
■s
rf
o
ri
CO Cl
'•t*
A
1— © ®
H- ©
lO
Cl
ro
' ••
•S'
©
o
i„i ro
i_i
OJ
«■
in
in re
OJ
©
LL.
_J mSi
_| ~7~
LU
Zi
•S
© "■
+
T-l
■ ■
LL iTi ■.
Cl. O
Zi
CO
UJ
r-r-
EH
—
•• r-- co
■ ■ *—•
«J.i
OJ
iti©
r--
Cl
•w-
"•y
„4..
OJ &
POI—
Cl
IO
ro
»_*Ll”i
LUOJ
UJ
o
O
i — i
IO
IO
Qi
Cu *>
ro
o
__J
LL h- CO
LL CO
•X*
■ ■ rH
O in
h-
A.
i_j tH
o o
■H
LU
o
h-
©Lfl
Cl
»S'
11
JiX
—i LL
i
Zi
1—
©OJ
.. LU
■•x
■M+
Ctl I— 1
O "
•Zi
Lù
©iti
CVJ
S_."
CD
UQw
i* *i —*
cc*
■X'
Cl
co
~r
•>in
© O
•S'
« ■
■ * ■■
i
’X
©
■■
IO
fu
-*Cl
rH
CD
LO
©
ojp- •*
PO ©
iH
1—1
Zi
CVJ
in
’+Ul
•l
+
■l
o
*Tfr-
■t
IO
ro
in
'Miti
Tp©
EH
A*.
CO
•Si
li~' ■S
LO O
0-J
Zi
OJ
IO
0-J
reo
©OJ
CL
Tf
o
r-l
'X' © *■
■XI t—
■r-H
LU
II
LOll
p - «.
II
1—1
r-r-®
p-x
r-
LU
Cl
Q*
A*.
*■
P--
QI
cn
X
Cù
a-
Cl
LL
•H
LUiS'
UJ©
LL.
_i
lUH-Z
uct;..
ui
II
II
LL
ZiiS»
itlp-
ÙL
EH
cr
CO
iti O 1
iti LJCO
JC.
Cl
eh
i_i
Ci
CJtH
o
o
i—«
ÙL
o
■ ■ t ■—■
|““| ■■ -
o
Cl
Cl
II
~r
CL 1
CLLU
II
O
•Si
Zi
Cl. Ci_f—
Cl-* i
LL
ÙC
•SI
iti
C
>• i—«
•S'
■S'
T~»
■s
•MIO
reo
-X
OJ
ro
IO
'X' © CO
P-© i
co
■r-A
OJ
OJ
CO
CVJCVJ
oj a_
OJh
RACE
00:P0=< RND<1>$100 >+100:P3=50
85 POR Q=0 TO 3:S< 0 >=< RND<1>#2>+1:NEXT Q
87 POKE 53248, F‘0: POKE 53249,PI:POKE 5325
tì,P2:P0KE 53251,50
88 FOR Q=1 TO 50:X=USR<ADR<Et>,7>:NEXT Q
90 IF Gt= "HI OH " THEN GOSUE: 400: GOTO 120
92 POKE 53278,1
95 P0=P0+S<0>:IF P0>255 THEN P0=0
98 X=USR< ADR< Et- > , STI CK< 0 > >
100 P1 =P 1 +Sé 1 IF PI >255 THEN P1=0
105 X=USR<ADR<Et >,STICK<0>>
110 P2=P2+S< 2 ):IF P2>255 THEN P2=0
120 ni = 1 * 11 + 0.01
124 X=USR(HORe Et > ,STIUKe0 >)
129 IF STRI6<0>=0 THEN GOSUB 500
130 POKE 53243,PO:POKE 53249,PI:POKE 532
CTfj ^ p«"i
135 POKE 656,2:POKE 657,5:? "GEfiR "iGti"
":POKE 656,2:POKE 657,20:? "HILES "iHI
140 CP=PEEK<53263 >:CS=PEEK<53255 >
150 IF CPO0 THEN 600
160 IF CS<>4 THEN 600
190 GOTO 90
210 DfiTfi 64,228,238,238,238,238,78,68,22
9,245,255,255,233,255,255,233,255,255,24
5,229,68,78,238,238,238
215 DATA 238,238,64,-1
700 r.= INT< RND< 1 >*3 >: S< C >=< RND< 1 >?2 >+l : RE
fllRH
400 R0=p0-< Sé 0)?2):IF P0<0 THEN P0=255
405 X=USR<HDR<Et >,STICKC 0>>
410 P1=P1-<S<1>X2 >: IF P1<0 THEN PI=255
415 X=IJSR< AORC Et ) , ST I CK< 0 > >
420 P2=P2-<S<2>$2 >:IF P2<0 THEN P2=255
425 X=IJSR( ADR( Et > , ST I CK< 0 > >
430 m=n 1+0.05: RETURN
500 IF Gt= "HIGH" THEN Gt= "LOW 11 : SOUND 0,2
55,12,10:SOUND 1,245,12,10:SOUND 2,235,1
2,10:RETURN
510 Gt="HIGH":SOUND 0,100,12,10:SOUND 1,
1 1
cj
GIOCHIAMO CON ATARI "
t]
T
110,12,10: SOLINO 2,90,12,10: RETURN
600 GOTO 640
605 SOUND 0,0,0,0 : SOUND 1,0,0,0 : SOI INO 2 ,
0,0,0
610 PQKE 53248,100:POKE 53249,100:POKE 5
3250,100
620 TRfiP 620:? " flNOTHER GO "i: INPUT G$:
IF G$(1,1>="V" THEN HI=0:G$="LON": ? CHR*
<125>:G0T0 24
630 END
640 J=F'EEK'; 203+2 5 6F'EEK( 204 j
645 FOR Q=1 TO 250:IF PEEKX J+Q>=0 THEN N
EXT Q
650 ST=J+Q : H6= INT< ST/256 > : LW=ST-256*HG : P
OKE 203,LW:POKE 2@4,HG
655 FOR P=1 TO 60
660 X=USR( 1536 ) : SOUND 1, F'EEKX 53770 ) , 120 ,
15
670 PURE 787 , F’EEKX 53770 NEXT P
700 POKE 53251,0:GOTO 605
1000 RESTORE 2000
1010 TRfiP 1050:P=0
1020 F-P+l: READ fi
1030 E$<P,P>=CHF:$<fi>
1040 GOTO 1020
1050 RESTORE 3000
1060 TRfiP 1090:P=1536
1070 READ fi:POKE P,fl:F‘=P+l
1080 GOTO 1070
1090 TRfiP 40000
1100 RETURN
2000 DATA 104,104,104,74,72,176,11,160,0
,177,203,136,145,203,200,200,208,247,104
,74,72
2010 DATO 176,11,160,0,177,203,200,145,2
03,136
2020 DATA 136,208,247,104,74,72,176,7,19
8,205,165
2030 DfiTfl 205,141,3,208,104,74,176,7,230
, 205,165,205,141,3,208,96*, END
3000 DfiTfl 104,160,0,173,10,210,145,203,2
00,192,25,208,246,96,END
28
LUNAR LANDING
LUNAR
LANDING
(Joystick)
Anche questo gioco è stato scritto da Paul Dunning. Usate
il joystick per scendere sulla piattaforma di atterraggio blu:
otterrete il massimo punteggio eseguendo un atterraggio
lento e morbido (ad esempio, ad una velocità di 5). Mano¬
vrando a velocità troppo elevata andrete a fracassarvi. Se
riuscite ad atterrare, il vostro punteggio dipenderà da quan¬
to era lenta la vostra velocità di discesa e da quale piatta¬
forma di atterraggio avete usato. Vi saranno fornite allora
500 unità extra di carburante ed il gioco incomincerà di
nuovo e terminerà quando si esaurirà il carburante.
GIOCHIAMO CON ATARI
ISBBSBBBBBBIil
,80,72,40,64,40,72,60,96,40,85,40,53, 80,
40,40,45,40,50,40,53,40,68,40
3 DATO 68,40,72,40,81,40,53,80,-1
4 CLR : DIPI A$< 100 >,H$< 11 >,E$< 60 >: H$= " a
tar i " : F'OKE 752,1 : HI =500
5 AA=1 :FU=4080:TI=100:SC=0:HU=8:W=HU: PO
KE 53278,1sGOSUB 900:GOSUB 4008
6 DAT A 11,12, li, li, 14,15, 1 e , 19,21, 22 , 23 ,
23,24
7 DATA 25,26,29,30,31,33,33,33,33,33,33,
31
8 DATA 31,30,29,28,26,25,25,24,23,21,18,
16,15
9 DATA 14,14,14,15,17,19,21,23,24,25,26,
27,29
10_DATA 29,29,29,29,27,26,26,25,26,27,28
r ùlt'
Il DATA 27,26,25,25,23,23,23,23,23,23,23
,21,21
i li DAT A 20,1 tì , 1 r", 11
29 FOR 1 = 1 TO 8 : F’OKE 53247+1,0: NEMT 1:60
TU 495
38 END
120 REP1 POKE 53248,30
200 RÈO *m*PLAVER SETUP *****
210 POKE 559,0:POKE 718,148:POKE 712,0
215 POKE 752,1:AL=110
230 RESTORE 235:FOR S2=l TO 60:READ S3:E
p: 52 , S2 >=CHRT( S3 > : NEKT S2
235 DATA 104,104,104,74,72,176,11,160,2,
177,203,136,145,203,200,200,208,247,104,
-?A ~?-Z<
! *T # 1 li-
236 DATA 176,11,160,253,177,203,200,145,
203,
-136
237
DATA
136,208
,247,184,74,72,176,7,198
, 205
O “7 O
DATA
165,205
,141 , 0,206,104 , 4 , 1 £■, - ,
230,
-205,
165,205,
141,0,208,96,8,6
248
A=PEEKX 106)-
16:POKE 54279,A:POKE 204
,A+4:POKE 203,8:PT1BASE=A*256
250 POKE 53277,3:POKE 704,40:POKE 53248,
150:POKE 205,RND<1>*130+70:POKE 53256,0
260 FOR I=PHBASE+1024 TO PITBASE+1280: POK
30
fi
■■■
■
■
■
■
■
■
■i
M
E
■ ■■■
■ ■■■
■
■
■
■
■
■
■
■
■
■i
■i
LUNAR LANDING
E INEXT I
270 RESTORE 290
288 FOR I=PHBfiSE+l 155 TO PHBRSE+1209 : REft
D BsPOKE I,B:NEXT I
290 DfiTfi 8,8,60,60,126,126#195#135#126#1
26 # 60 # 60 # 24 # 24 #126 #126 #165 #165
300 DfiTfi 165#165#165,0,0#0,0,0,0,0,0,0,0
, 0 , 0 , 0 , 0 , 0 , 0 , 0
310 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
, 0
320 POKE 559,62:GOTO 390
370 ST=ST I CK( Gì >
380 CO=PEEK<53252>:IF CO>0 THEN GOSUB 50
385 POKE 53278,1
390 IF fifi=l THEN FOR Q=0 TO 100:fì=(JSR<fiD
R< ET >,14 > : SOUND G , 255,8,15: NEKT 0 : flfi=0 : fi
=USR(fiDR<ET>,11>: SOUND 0,0,0,8
408 POKE 53273,3
410 IF ST=14 AND FU>=38 THEN SOUND 0,255
, 8,15:buTU 480
415 SOUND 0,0,0,0
420 IF ST=7 OR ST=11 AND FU>=5 THEN SOUN
D 1,100,8,3:GOT0 436
425 SOUND 1,0,0,0
430 IF FLK =0 THEN FU=0:GOTO 455
431 IF ST=7 THEN HU=HU+0.05:FU=FU-5
432 IF ST=11 THEN HU=HU-0.05:FU=FU-5
440 HF-HP+HU: IF HP>1 THEN HP=0:SF;=7
450 IF HP<-1 THEN HP=0:SR=11
455 UU=UU+0.O2:UP=UP+UU: IF Up >1 AND SR=1
5 THEN UF-0: SR= 13: AL=AL-1
456 IF UP>1 AND SR=U THEN UF-0:SR=9:AL=
Ai— i
457 IF UP>1 AND SR=7 THEN UP=0:SR=5:AL=fi
453 IF UPC-i THEN UF-8:SR=14:fiL=flL+1
460 IF ST =14 AND FU>29 THEN UU=UU-8.05:F
U=FU-30
480 fì=USR<ADRé ET>,SR>:SR=15
485 ? " SCORE="ìSCì" "iCHRTK127 >j" UUEL
= " i UU:?: 100 i " "
31
la
■■■
■
■■
■
■■
■i
n
■
■
■
■ ■■■
■ ■■■
■
■
■
■
■ ■■1
■ ■■1
GIOCHIAMO CON ATARI
IB
B
a
a
al
!■■
IH
■
■
■■■■
■■■■
B
a
a
■
a
■
ai
11
486 ? " FUEL ="ìFUì" ";CHR*<127>;" HUEL
= "iHUf 108 j"
487 ? " TUIE =" i INT< TI >; 11 "iCHR$< 127>;"
ALT =“iHLj" "
488 'L-HR$< 88 ì UHR$'% 88 ì L-HR$‘-. 88 ì
489 TI=T1-0.1
490 IF TI=0 THEN 720
492 GOTO 370
495 GOTO 210
500 IF 00=4 ANO W<0.5 THEN 600
505 IF 00=4 AND W>8.4 THEN 700
510 IF 00=2 THEN 700
520 RETURN
800 FuR U=1 Tu 8 • FuR H=855 TU 1U@ 8TEF' —
1
610 SOUND 0, W , 10,15:SOUND 1,N-10,10,15:S
OIJND 8,11-20,10,15
620 NEXT W:NEXT Q
630 SS=0.5-UU:SO=SC: IF SS=0 THEN SC=SC+5
05 GOTO 650
640 IF AL<5 THEN SC=SC+< SS*18©>*10:GOTO
650
642 IF AL<20 THEN SC=SC+< SS:?: 100 >*20:GOTO
650 ■
644 IF AL<60 THEN SC=SC+<SS*10W>*5
650 IF FLK2500 THEN FU=FU+<SC-S0:^2>
655 FOR Q=0 TO 3:SOUND 0,0,0,0:NEXT 0:AA
=l:POKE 53278,lsGOSUB 800:GOTO 210
700 FAR 0=0 TO 50:F'OKE 712,RND< 1 >$255:SO
UND 8,255,8,15:SOUND 1,240,8,15:SOUND 2,
220,8,15:NEXT O
705 SOUND 0,0,0,0: SOUND 1,8,0,0: SOUND 2,
0,0,8
706 IF FLK30 THEN FU=0:GOTO 720
710 POKE 712,0:AA=l:GOSUB 800:GOTO 218
720 POKE 712,0:GOTO 810
3@@ i.,ip=0: HF-0: HU=@: W=0: TI=1 @8: RETURN
818 IF SO>HI THEN GOSUB 1010
820 GRAPHICS 17:SETC0L0R 4,1,8
830 ? #6 ì " GAP1E OUER "
835 ? #6:? #6j" HIGH SCORE "jHI
836 ? #6: ? #6; " " ;Ht-
32
LUNAR LANDING
840 ? #6:? #6i" PRESS START "
850 POKE 53248#0
860 IF PEEKX 53278>=6 THEN RESTORE sGOTO
cr
870 GOTO 868
899 END
900 RETI INTRO
91 tì tìRAPH I L'S 17 ! SET COLOR 4 # 1 # 0 : E = 0
920 ? #6#" LUNAR LANDER "
930 ? #6:? #6#" BV P.DUNNING SEP.82"
940 ? #£;:? #6;" USE JOYSTICK <0>"
950 ? #6:? #6;" u p
960 ? #6 : ? #6 i " •••■ "
970 ? #6;" let't right"
980 ? #6
985 POKE 53248,0
990 READ H:IF H<0 THEN 998
992
READ P
995
p
SOUND 0#ri#
10#
15:FOR pp
997
GOTO 990
998
? #6 # "
90
Od 1
uck 11
999
FOR X=1 TO
13
: FOR
V=0
: SOUND 0 # V #10#
15:
NEXT
v:ne:
# 0 # 0
: RETURN
1000
RESTORE 1
•‘GOTO 990
1010
..TI
=30
: GRAPHICS
# 1 #0
: ? #6 i “
GREAT
SCORE
1 S H I :
=sc
1011
? #6 ì " a
b
c d
e f 9
1012
? #6
1013
? #6 # " i
J
k ì
ni n o
1014
? #6
1015
? #6# " 9
r
-=• t
U V i.U
1016
? #6
1017
? #6y
~T
■
R
1018
POKE 5324
8 # 0
1020
FOR Q=10
TO
245:
SOUND
OUND
1#Q#8#15:
SOUND 2
# Q+10.
1030
POSITION
X,Y
:? #6
V+l : '
? #6#"X":POSITION
X+2#'
p c »
33
■■■
■■■
■■■
■■■
■■■
■■■
’i GIOCHIAMO CON ATARI L li
■ ■■
■ ■■
■ ■■
■ ■■
■■■■
■■■■
uu
1 1 1 1
11*1
1*11
■ ■■
■ ■■
OSITIOH X,V+2:? #6i"XXX"
1048 IF STICK'^ 8 >07 THEH 1858
1845 POSITIOH X#V:? #Si" ":POSITION X,
V+1 : v .POSITI OH X+2,V+l:? #6;..
OSITIOH H,V+2:? #6;"
1846 IF X>13 AND V=7 THEH X=l:V=i:60T0 1
058
1847 IF X>13 THEH X=1:V=V+2:GOTO 1858
1848 X=X+2
1858 IF STICK*:8)011 THEH 1068
1055 POSITIOH X,V:? #6i" ": POSITIOH X,
V+l:? #6;" " : POS ITI OH X+2,V+l:? #6;" “:P
OSITIOH X,V+2:? #6;"
1056 IF X<3 AND V=1 THEH X=15*V=7:GOTO 1
868
1057 IF X<3 THEH X=15:V=V-2:GOTO 1060
1858 X=X-2
1060 POS ITI OH 6,18:? #6; "TUIE "ìIHKTDì
" ":TI=TI-0.1 :IF TI=0 THEH 1108
1865 FOR PP=8 TO 20ZNEXT PP
1069 IF STRIG*: 0 >< >0 THEH 1080
1871 LOCATE X+1,V+1,XX:IF XX=ASC<"E"> TH
EH 1188
1872 IF XX=ASO: "R" > AHO LEN<H*»1 THEH H
$=H*< 1, LEH'I H$ >-1 > : GOTO 1088
1873 IF LEH<H$»18 THEH 1088
1075 H$(LEH< >+1>=CHR$(XX>
1080 POSITIOH 4,11:? #6;H$i" "
1099 GOTO 1838
1100 FOR Q=0 TO 3:SOUHD Q,0,0,0:HEXT Q
1110 RETURH
4000 GRAPHICS 5
4010 RESTURE 6:CuLuR 4
4020 FOR X=0 TO 79
4030 READ V
4040 PLOT X,39:ORAUTO X,V
4050 HEXT X
4860 COLOR 3
4070 PLOT 18,32:DRAHTO 23,32
4080 PLOT 50,28:DRAHTO 54,28
4090 PLOT 67,22:DRAHTO 73,22
4100 RETURH
34
F ì
1
M
decjisiun maker .__
ih
_
□_ __c
DECISION
MAKER
(Tastiera)
Questo programma vi aiuterà a prendere decisioni su un
determinato problema. Innanzitutto vi domanda quante so¬
no le opzioni tra cui non riuscite a decidervi, poi vi chiede
quanti sono i fattori che influenzano la vostra decisione (ad
esempio, il prezzo dell'uovo, la qualità, la grandezza). Infi¬
ne vi domanda quale valore attribuite ad un determinato
fattore. Risponderete introducendo un numero compreso
tra 0 e 100. Dopo aver fornito tutti i dati ed elencate tutte le
varie opzioni, sul video in negativo vedrete apparire la deci¬
sione che il computer ritiene che voi dovreste prendere.
35
GIOCHIAMO CON ATARI
BiiiiBiSiaa
10 REFI ** DECI SION PlflKER II **
20 REFI ** BV CHRIS CfìLLENDEF: **
21 REP1 ** fiOAPTED BV P.BUNN **
22 REH ************************
25 DIPI fl$<32>: GOSUB 30:GOTO 80
30 GRAPHICS 0
40 SETCOLOR 2,8,2:SETCOLOR 4,8,2
50 PRINT DECISION MAKER"
so print ,"**************"
70 PRINT
75 RETURN
80 PRINT "HOW P1ANY OPTIONS TO CHOOSE FRO
FI"
82 TRfiF' 82: INPUT A*:0=UflL<fl$>
90 PRINT "HOW PIANV FACTORS INFLUENCE DEC
ISION"
100 TRfiF' 100: INPUT tì$
110 F=UfiL(fi* >
120 DI PI 0$< 0:02 > , F $< F*32 >
130 0$< 1 >= " " : 0*< 0*32 >= " " : 0*< 2 >=0*
140 F$<1>=" ,, :F$(F*32)=" 11 : F$< 2 )=F$
150 GOSUB 30
160 FOR fi=l TO 0
170 ? "ENTER NftriE OF OF'TION "jfi
180 TRflP 180: INPUT fi*: TRfiF' 40000
190 0$< C fi-1 >*32+1 ,< fl-1 >*32+31 >=ft$
200 NEXT fi
210 GOSUB 30
220 FOR fi=l TO F
230 ? "ENTER NfiPIE OF FACTOR "ifi
240 TRflP 240:INPUT fi*:TRflP 40000
250 F*<Cfl-1>*32+1,<fi-1>*32+31>=fi*
260 NEXT fi
270 GOSUB 30
280 DIPI PKQ,F>
290 FOR fi=l TO 0
300 FOR B=1 TO F
310 GOSUB 30
320 ? "HOW WOULD VOU RATE ";F*<<B-l>*32+
1, B-1 >*32+31 >
36
DECISION MAKER
330 ? "OH THE “;0$<<R-l>*32+l,<fl-l)*32+3
1 )
340 INPUT U
350 f1<fi #6>=U
360 NEXT 6
370 NEXT fi
360 UU3UB 30
330 ? "HERE IS HHflT I THINK VOU SHOULD D
0 :-"
400 POR fi=i TO O
410 0=0
420 FOR 6-1 TO F
430 C=C+n<fl#B>
440 NEXT B
450 IF OTOP THEN T0P=C:NG=fi
460 NEXT fi
470 FOR fi=l TO 0
480 IF fi=NO THEN FOR P=1 TO 31 :L=<fi-1>£3
2+p: fl$=0$<L#L >: K=fiSC< fi* >+128:Q$< L^L >=CHR
$< K >: NEXT P
485 IF fi=N0 THEN FOR P=1 TO 31 :!_=<fi-1>*3
2+P : K=fìSC< 0T( LjL>>: IF K= 160 THEN 0$-< L, L >
_ li u
486 IF fi=NO THEN NEXT P
490 ? 0$<< fi-1>£32+1fi-1>£32+31>
500 NEXT fi
37
TI 1 i
1
d
±nz
GIOCHIAMO CON ATARI TT
+]
TTn _ . u u 11 111 i.L.1.
J
SAFE CRACKER
(Tastiera)
Questo magnifico gioco è stato scritto da Terry Davies e ri¬
chiede un computer con 24K di memoria.
Lo scopo consiste neH’impossessarsi del maggior numero
possibile di monete dalle casseforti di Mrs. Warren Fitzdo-
body. Per poter aprire una cassaforte dovete indovinare tre
numeri della combinazione. Su richiesta del computer inse¬
rite il vostro primo numero: se esso risulterà essere entro
± 5 dal numero vero sentirete lo scatto del meccanismo
della cassaforte. Se fate più di 10 tentativi per ogni numero,
scatterà l’allarme ed arriverà la polizia (dalla finestra potre¬
te vedere lampeggiare la luce intermittente di allarme delle
loro automobili). Se riuscite ad indovinare il primo numero,
continuate con il secondo e poi con il terzo. Se riuscite ad
indovinare i tre numeri (una probabilità su 970.299) la cas¬
saforte si spalancherà e riceverete alcune monete. Andate
in un’altra stanza e tentate di nuovo. In questo gioco ci vuo¬
le fortuna, ma anche intelligenza. L’intelligenza, infatti, è
necessaria per comprendere la logica delle combinazioni
di apertura. Dopo aver giocato allo scassinatore ci pense¬
rete due.volte prima di praticare questa “arte” sul serio!
1 refi
2 REFI ** SAFE CRACKER - **
3 REFI ** HRITTEN BV TERRV DAUIES **
4 refi m*m*mm******m**#m**
5 GRAPHICS 2!FLASH=@:P= 1 @:DIPI A*<5>,0$<3
208 > , C< 4 > , PT$< 62 > : TT=0
10 POKE 708 , P+10:POKE 709,145:POKE 752#8
:POKE 712,145:POKE 710,145
15 ? 11 press start 11
20 POSITIOH 4,4:? #6;"SAFE CRACKER"
38
:□-; l
IL
CL
SAFE CRACKER
T]
t
_
J
25 POS ITI OH 4,8:? #6 ì" sa te cracker 80SU
B 6800
38 IF PEEKX 53279>=6 THEN 1000
35 F-P+0.1:FLASH=FLASH+1: IF FLASH>58 THE
N POKE 709,P: IF FLASH>50 THEN F'QKE 708,1
45:FLASH=-20:POKE 53279,8
40 IF FLASH=0 THEN POKE 709,145:IF FLASH
=0 THEN POKE 708,P:POKE 53279,8
50 IF P<200 THEN 30
1000 GRAPHICS 7:PX=4:LC=40:X=0:V=0
1005 GOSUB 5100
1807 ? "PLEASE WAIT."
1010 GOSUB 3000W
1020 FOP. I=W TO 4: POKE 708+1 ,C< I >: NEXT I
1030 GOSUB 5199
1048 POKE 752,1:POKE 709,0:? :? 11 HE
RE IS THE SAFE...SHHHHHH! ! !":FOR W=1 TO
1500:NEXT N: ? CHR$<125 >
1043 ? " VOU SETTER PUT THE SIDE LIGHT 0
N“ : ? " THERE'S NO ONE AROUND..PRESS STAR
T":POKE 53279,0
1045 IF PEEK<53279X>6 THEN 1045
1050 POKE 709,202:? CHR$<125 > i" THAT 1 S BE
ITER VOU CAN SEE WHAT VOU":? "ARE DOING
NON":FOR N=1 TO 2000:NEXT W
1055 J CHR$<125>:GOTO 2000
l£i60 GOSUB 6000
1870 ? CHR$<125 >;"PRESS START TO HAUE AN
OTHER CRACK"
1071 h'OKt 710,30:FOR W=1 TO 200:NEXT W:F'
OKE 710,138:FOR N=1 TO 99:NEXT HsPOKE 71
8,148:FOR W=1 TO 250:POKE 710,138
1072 FOR H=1 TO 99:NEXT HzPOKE 710,148:F
OR W=1 TO 250:NEXT W:POKE 710,138:FOR H=
1 TO 100:NEXT HsPOKE 710,148
1873 FOR M=1 TO 250:NEXT H:POKE 710,138:
FOR H=1 TO 100:NEXT W:POKE 710,148
1074 POKE 53279,0:IF PEEKX 53279X>6 THEN
1872
Iti75 GUTU 1820
2000 A=INT<RND<1>*81>+10:B-INT<RND<1>£81
>+10:C=INT<RND(1>£81>+10:J=8
2003 J=J+1 : ? " HHATS VOUR FIRST NUTTBER
39
■bi
[ìbi
■■■
■■■
■■■
■■i
■■i
■■■
IBI
■■■
■■■
'-i GIOCHIAMO CON ATARI !=:
IBI
IBI
IBI
IBI
IBI
IBI
IBI
IBI
bbìb
IBI
IBI
BHB
in
1 1
Ti
3 !
39
li
: INPUT N:IF N>99 OR N<1
1
CHI
EN
iL
J0
1
63
2005 IF J=ll THEN GOSUB 3950:GOTO 1060
2006 IF N<>fi THEN 2008
2007 GOSUB 3350:GOTO 2499
2008 IF N>fl-5 AND N<fl+5 THEN GOSUB 3900:
GOTO 2003
2010 IF N>fi+5 OR N<fl-5 THEN GOSUB 4000:6
OTO 2003
2011 GOTO 2003
2499 J=0
2500 J=J+1 : ? "WHfìTS VOUR SECOND NUPIBER" :
INPUT N:IF N>99 OR N<0 THEN 2500
2518 IF .0=11 THEN GOSUB 3950:GOTO itìfifì
2520 IF NOB THEN 2530
2525 GOSUB 3850:GOTO 2999
2530 IF N>B-5 HND N<B+5 THEN GOSUB 3900:
SOT0 2500
2535 IF N>B+5 OR NCB-5 THEN GOSUB 4000:G
OTO 2580
2540 GOTO 2500
2999 J=0
3000 ? 11 NHfiTS VOUR THIRD HUHBER" : INPUT
N:IF N>99 OR N<0 THEN 3000
3005 J=.0+1
3010 IF .0=11 THEN GOSUB 3950:GOTO 1060
3020 IF HOC THEN 3030
3025 GOSUB 3850:? "VOLI HfiUE OPENED THE
AFE":.0=0:COLOR 0:PLOT 41 j 30:DRflWTO 39,1
3026 J=J+1:IF J>9 THEN 3028
3027 DRflWTO 41+.0, 16:DRflWTO 41 +.0,30:GOTO
3026
3028 CG=INT<RND<0>#260)+100: ? CHR$<125);
"WELL DUNE , THERE WflS "iCOi" COINS IN":
? "THflT SflFE ! !."
3029 TT=TT+CO:? "NON TRV THIS ONE.":
FOR W=1 TO 1000:NEXT W:GOTO 1020
3030 IF N>C-5 AND N<C+5 THEN GOSUB 3900:
GOTO 3000
3035 IF N>C+5 OR NCC-5 THEN GOSUB 4800:G
OTO 3000
3040 GOTO 3000
40
CO i11»
SAFE CRACKER
3850 FOR T=1 TO 100:SOUND 0,T,10,8:NEXT
T*? "VOLI ARE RIGHT": SOUND @,0,0,0: RETURN
3900 FOR S=20 TO 15 STEF‘ -4:NEXT S: SOUND
0,N,10,14:FOR W=1 TO 3:NEXT M:SOUND 0,0
,0,0:RETURN
3950 ? "BLIHEV ! ! VOLI HAUE SET THE ALAR
n OFF":? "LETS SCARPER_THE POLICE ":R
=0
3960 ? “VOU NICKED "iTTi" COINS FROH THE
SAFES"i:TT=@
3998 FOR N=20 TO 15 STEP -4:NEXT N:SOUND
0,N,1@,14:FOR W=1 TO 33:NEXT H:SOUND 0,
0,0,0:R=R+l:lF R=2« THEN RETURN
3999 GOTO 3998
4000 ? " VOU ARE WRONG TRV AGAIN !":R
ETURN
51 @0 DL=PEEK< 560 >+PEEK< 561 >*256: P1EH=PEEK
<106 >*256:DAT=PEEK< DL+4 >+256*PEEK< DL+5>
5108 RESTORE 5200:FOR P=1 TO 62:READ A:P
T$<P,P>=CHR$<A >:NEXT P
5110 ST=DAT+VTLC+1 NT< X.- PX > : RETURN
5199 GOSUB 5110 : A=USR< ADR 1 ' PTT >, ST , ADRC D$
>,BVT,LIN,LC>:RETURN
5200 DATA 104,104,133,204,104,133,203,10
4,133,206,104,133,205,104,104,133,207,10
4,104
5210 DATA 170,104,104,133,208,164,207,13
6 ,11" ( ,2U5
5220 DATA 145,203,136,192,255,208,247,24
,165
523£i DATA 203,lui,208,133,203,144,2,230,
204,24,165,205,101,207,133,205,144,2,230
5240 DATA 206,202,203,219,96
6000 FOR J=1 TO 8:SOUND 0,47,10,8:FOR L=
1 TO 100:NEXT L:SOUND 0,64,10,8:FOR L=1
TO 100:NEXT L:NEXT J
6001 SOUND 0,0,0,0:RETURN
20000 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
20001 DATA 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0
20002 DATA 0,0,0,12,0,0,0,0,0,0,0,0,0,0,
0
20003 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,195
.41
■1
IH
■■■
n
n
~J 1“
■■■
■H
HI
III
i
c
■1
■■■
■■■
ibi
IBI
GIOCHIAMO CON ATARI “I
IH
■H
■■1
t]
LL
J_L
_1_L
JLL
_L_L
IH
■■■
■■1
rr
r
, 0
20064 DOT fi 63 , 255 * 207 *255 , 63 ,255 ,207 , 255
, 63 , 255,207 , 255,132, 132 , 0
20005 DATfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
20006 DOTA 0,0,0,0,0,0,0,0,195,12,63,255
, ic'tJ i* , ci55,6 'ó
20007 DAT A 255,207,255,63,255,207,255,19
2,192,192,0,0,0,0,0
20008 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
20009 DATA 0,0,0,195,12,63,255,207,255,6
3,255,207,255,63,255
20010 DATA 207,255,192,192,192,0,0,0,0,0
,0,0,0,0,8
20011 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,195
,12
20012 DATA 63,255,207,255,63,255,207,255
,63,255,207,255,192,192,192
20013 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
20014 DATA 0,0,0,0,0,0,0,0,195,12,63,255
,207,255,63
20015 DATA 255,207,255,63,255,207,255,19
2,192,192,0,0,0,8,0
20016 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
20017 DATA 0,8,0,195,12,63,255,207,255,6
3,255,207,255,63,255
20018 DATA 207,255,192,192,192,0,0,0,8,0
,0,0,0,0,0
20019 DATA 0,0,0,0,0,0,63,255,207,255,19
2,0,0,195,12
20020'DATA 63,255,207,255,63,255,207,255
, , 255,2W r , 255,192,192,192
20021 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
20022 DAT A 0*63,255,207,255,192,0,0,195,
12,63,255,207,255,63
20023 DATA 255,207,255,63,255,207,255,19
2,192,192,0,0,0,0,0
20024
DATA
0,
0,
r 0
,6,
0,
6,
0,0
,0,0,0,
63
,25
5,
c.Ui ,i_--
55
20025
DATA
19
! ’2j
F0
,0,
19
5,
12,
0,0,0,0
,0
,0,
0,
0 , 0 , 0
20026
DATA
0,
0j
f 0
,19
r
19
2,0
,0,0,0,
0,1
0,0
,0
,0,0
20027
DATA
0,
0 j
f 0
,0,
0,
0,
63,
255,207
,2'
55,
19
42
SAFE CRACKER
2*0*0#135# 12
20028 DATA 63*255*207*255*63*255*207*255
* 6 -l'1 255*2@i f * 255* 132* 192 * 132
20029 DATA 0,0,0,0,0*0,0,0,0,3*255,255,2
40,0,0
28030 DAT A 0,63,255,207,255,192*0*0*135 *
12,63,255,207,255,63
20031 DATA 255,207,255,63,255,207,255,19
2,132,192,0,0,0,0,0
20022 DATA 35,35,35,85,92,0,0,12,0*0,0,6
3,255,207,255
20033 DAT A 192,0,0,135,12,63,255,207,255
,63,255,207,255,63,255
20034 DAT A _ 207,255,132,192,192,0,0,0,0,0
J y.J 3 U-J 3 O•_< 3 C'J 3 y kl
20035 DAT A 0,0,12,0,0,0,63,255,207,255,1
32,0,0,135,12
20036 DATA 63,255;207,255,63,255,207,255
, 6 j. , 255,20 ( , 255,192,192 , 192
20037 DATA 0,0,0,0,0,30,0,0,0,48,0,0,3,0
20038 DATA 0,63,255,207,255,192,0,0,135,
12,63,255,207,255,63
20033 DATA 255,207,255,63,255,207,255,19
2,192,192,0,0,0,0,0
2DW40 DATA 80,0,0,0,132,0,0,.*,W,l,tì5,85,
85,yy,y
20041 DATA 0,0,0,195,12,63,255,207,255,6
3.255.207.255.63.255
20042 DATA 207,255,132,192,132,0*0,0,0,0
,80,3,135,3,0
20043 DAT A 0,0,0,192,1,64,63,255,240,255
,132,0,0,135,12
20044 DATA 63,255,207,255,63,255,207,255
,63,255,207,255,132,192,192
20045 DATA 0,0,0,0,0,80,16,51,3,0,0,0,0,
132,1
20046 DATA 69,85,85,240,255,132,0,0*195,
12 , 0 , 0 , 0 , 0,0
20047 DATA 0,0,0,0,0,0,0,0,132,132,0,0,0
, 0 , y
20048 DATA 80,4,192,12,0,0,0,0,48,1,69,8
5.85.240.255
43
GIOCHIAMO CON ATARI
naaaasBsiHii
20649 DATA 192,0,0,195,12,63,255,207,255
,63,255,207,255,63,255
20050 DATA 207,255,192,192,192,0,0,0,0,0
,80,85,192,48,0
20051 DATA 0,0,8,12,1,69,81,85,240,255,1
92,0,0,195,12
20052 DATA 63,255,207,255,63,255,207,255
,63,255,207,255,192,192,192
20053 DATA 0,0,0,0,0,88,68,3,192,0,0,0,0
,12,1
20054 DATA 69,85,85,240,255,192,0,0,195,
12,63,255,207,255,63
20055 DATA 255,207,255,63,255,207,255,19
2,192,192,0,0,0,0,0
20056 DATA 88,20,192,192,0,0,0,0,3,1,69,
85,85,240,255
20057 DATA 192,0,0,195,12,63,255,207,255
,63,255,207,255,63,255
20058 DATA 207,255,192,192,192,3,192,0,0
,0,88,16,195,0,0
20059 DATA 0,0,0,3,1,69,85,85,240,255,19
2,0,0,195,12
20060 DATA 63,255,207,255,63,255,207,255
, 6 _-, 255,20 {, 255 ,192,192,192
20061 DATA 48,0,0,0,0,88,80,0,170,170,17
0,170,170,170,194
20062 DATA 69,0,85,240,0,0,0,0,195,12,63
,255,207,255,63
20063 DATA 255,207,255,63,255,207,255,19
2,192,195,0,0,0,0,0
20064 DATA 88,64,192,0,88,2,64,0,0,2,69,
85,85,240,255
20065 DATA 192,0,0,195,12,63,255,207,255
,63,255,207,255,63,255
20066 DATA 207,255,192,192,240,0,0,0,0,0
, 88 , f 6 , 12 , 192,88
20067 DATA 2,64,0,0,2,69,85,85,240,255,1
92,0,0,195,12
20068 DATA 63,255,207,255,63,255,207,255
, 63,255,207,255 ,192,195,0
20069 DATA 0,0,0,0,0,88,0,0,0,88,2,64,0,
0,2
20070 DATA 69,85,85,240,255,192,0,0,195,
44
SAFE CRACKER
12,0,0,192,0,0
20071 Offra 0,0,0,0,12,0,0,0,240,192,9,0,
0,0,0
20072 DOTA 88,0,0,0,88,2,64,0,0,2,69,85,
85,240,255
20073 DATO 192,0,0,195,12,63,255,255,255
,63,255,207,255,60,15
20074 DATA 207,255,207,0,0,0,0,0,0,0,88,
0,0,0,88
200r'5 DATA 2,6*4,0,0,2,69,85,85,240,255,1
92,0,0,3,12
20876 TATA 63,255,207,255,63,255,207,255
, 56*, 15,20 r' , 255,240, 192,8
20077 DATA 0,0,0,0,0,90,170,170,170,88,2
,64,0,0,2
200 8 DAT A 6*9,85,85,240,255,192,0,0,2*, 12
,63,255,207,255,63
2007
9
DATA
255,
2
07,
255,56,
15,207,255j
r0,0
,192
,0
,0,0,
0,0
2008
0
DATA
85,6
5
,85
,85,88,
2,64,0,0,2,74,
255,
••|C
5 j
,255
2006
1
DATA
192,
0
,0,
3,12,63
,255,207,255,6
3,25
5,
207,2
55,5
6
,15
20082 DATA 207,248,192,0,192,0,0,0,0,0,0
,0,0,0,0
20083 DATA 2,64,0,0,2,85,85,85,861,255,19
2,0,0,3,12
20084 DAT A 63,255,207,255,63,255,207,255
, 56* ,15,20 ( , 12,2*, 192 , 192
20885 DATA 0,0,0,0,0,0,0,8,0,0,2,64,0,0,
0
20086 DATA 0,0,0,0,0,0,0,0,3,12,63,255,2
0 r , 255,6*2*
20087 DAT A 255,207,255,56,15,192,8,3,192
,192,0,0,0,0,0
20088 DATA 0,0,0,0,0,2,64,0,0,0,0,63,255
,207,255
20089 DATA 192,0,0,3,12,63,255,207,255,6
3,255,207,255,56,12
28090 DATA 0,0,195,192,192,8,0,0,0,0,0,0
, 0 , 0,0
20091 DATA 2,64,0,0,0,0,63,255,207,255,1
92,0,0,3,12
45
GIOCHIAMO CON ATARI
4
1 1
1
4
, SAFE CRACKER 4
13
L
r
20114 DATA
, 0 , 0 , 0
20115 DATO
■4 -i
Xil
20116 onta
,132,192
20117 DATA
0
20118 DATA
0
20113 DATA
, 0 , 0 , 0,0
20120 DATA
8
20121 DATA
,12
20122 DATA
, 0 , 0,0
20123 DATA
12
20124 DATA
,132,132
20125 DATA
0
20126 DATA
8
20127 DATA
,0,0,0,0
20128 DATA
0
20123 DATA
4 “i
1 i
20130 DATA
, 0 , 0 , 0,0
20131 DATA
i iì
20132 DATA
32,252,63
20133 DATA
2,64,0,0,0
20134 DATA
0
12,12,3,192,192,0,0,0,0,0,0,0
2,64,0,0,0,0,0,0,0,0,0,0,0,3,
0,0,0,0,0,0,0,0,11,12,12,12,3
0,0,0,0,0,0,0,0,0,0,2,64,0,0,
0,0,0,0,0,0,0,0,3,12,0,0,0,0,
0,0,0,11,12,12,12,3,132,192,0
0,0,0,0,0,2,64,0,0,0,0,0,0,0,
0,0,0,3,12,0,0,0,0,0,0,0,0,11
12,12,3,192,132,0,0,0,0,0,0,0
2,64,0,0,0,0,0,0,0,0,0,0,0,3,
0,0,0,0,0,0,0,0,11,12,12,12,3
0,0,0,0,0,0,0,0,0,0,2,64,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 3 , 12 , 0 , 0 , 0 , 0 ,
0,0,0,11,12,12,12,3,132,192,0
0,0,0,0,0,2,64,0,0,0,0,0,0,0,
0,0,0,3,12,0,0,0,0,0,0,0,0,11
12,63,255,192,132,0,0,0,0,0,0
2,64,0,0,0,0,0,0,0,0,0,0,0,3,
0,0,0,0,0,0,0,0,11,12,12,51,1
192,135,135,15,192,0,0,0,0,0,
0,0,0,0,0,0,0,0,3,12,0,0,0,0,
47
0
20158 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
20159 DATA 0,0,0,4,12,194,128,0,48,0,240
, 0 , 0 , 0,0
20160 DATA 0,0,0,0,0,2,64,0,0,0,0,0,0,0,
0
20161 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3
20162 DATA 0,160,0,0,0,12,0,0,0,0,0,0,0,
0,0
20163 DATA 2,64,0,0,0,0,0,0,0,0,0,0,0,0,
0
20164 DATA 0,0,0,0,0,0,0,0,0,0,48,40,0,3
,0
40165 DATA •'>,255,255,255,252,0,0,0,0,0,2
,64,0,0,0
20166 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
20167 DATA 0,0,0,0,0,12,10,0,0,192,3,192
,0,0,0
20168 DATA 0,0,0,0,0,2,64,0,0,0,0,0,0,0,
8
20169 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
20170 DATA 51,0,128,0,48,3,192,0,0,0,0,0
,0,0,0
20171 DATA 2,64,0,0,0,0,0,0,0,0,0,0,0,0,
0
20172 DATA 0,0,3,0,0,0,0,0,0,0,12,0,32,0
,15
20173 DATA 3,192,0,0,0,0,0,0,10,170,170,
170,170,160,8
20174 DATA 0,2,168,10,170,130,128,21,72,
70,5,143,197,223,255
20175 DATA 243,255,0,8,0,3,0,8,0,0,195,1
92,0,0,0
20176 DATA 8,0,0,42,170,170,170,170,168,
0,0,42,128,154,106
28177 DATA 8,5,85,69,65,127,0,0,0,0,0,0,
0,0,0
28178 DATA 0,192,2,0,0,51,192,0,8,0,0,0,’
2,170,170
201 { 9 DAT A 1 ( 8 ,1 { 0,1 ( 0 ,1 f 0 ,128,2,1 < 0 ,1 ..J0
, 1 f 0 , 16tì , €•, 1 vi8,21, 21, ( 1
28180 DATA 213,255,255,223,207,240,255,2
52,0,0,0,48,8,128,8
49
■HI
■■■
ere
J 1
■ ■■
■ ■■
■■■■
■■■■
■■■
■■■
: GIOCHIAMO CON ATARI
■ ■■
■ ■■
■ ■■■
Il 1 1 1
II
l-l 11
cm
■■■■
20181 DATA 15,132,0,0,0,0,0,0,0,0,0,0,0,
0,0
20182 DATA 43,248,80,42,195,254,63,255,2
55,245,89,81,85,255,204
20183 DATA 243,63,252,0,0,0,12,0,32,0,3,
132,0,0,0
20184 DATA 0,0,0,0,0,0,0,0,0,0,168,32,5,
20185 DATA 168,42,170,21,73,245,0,0,0,4,
4,1,63,0,0
20186 DATA 0,3,0,11,255,255,192,0,0,0,0,
0,0,0,0
20187 DATA 0,0,0,0,42,170,138,170,170,42
,168,165,85,255,245
20138 DAT A 127,241, 63,255,207,207,207,25
5,132,0,0,0,132,12,0
20189 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,2,1
70
20130
DATA
65,7@j
-5,81.
20131
DATA
0,0,0i
-0,0
20132
DATA
20193
DATA
20194
,0
DATA
20135
DATA
20196
,0
DATA
20137
DATA
20198
DATA
20133
0
DATA
20200
DATA
20201
DATA
20202
a P"}
DATA
20203
DATA
20204
0
DATA
20205
DATA
20206
DATA
168,10,170,168,170,160,1,84,1
85,95,207
20r ,^!0 ( ,li 55,i40,O,0,0,0,li£?,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
0,0,48,12,0,0,0,0,0,0,0,0,0,0
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 12,12
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
0,0,0,0,0,0,0,3,12,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
0,0,0,204,0,0,0,0,0,0,0,0,0,0
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,48,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
50
SAFE CRACKER
[
20207 DflTfi 0,0,0,0,0,0*0*0,12,0,0,0,0,0,
0
20208 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,
20209 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,
20210 DfiTfi 0,0,0,0,12,0,0,0,0,0,0
30000 BVT=40 : LI N=79 : GR-7 : CC 0 >=6 : C< 1 >=0 : C
< 2 >= 148 : C< 3 >=70 : C< 4 >=0
30010 RESTORE 20000:FOR P=1 TO 3143
30020 REfiD fi:D$< P,P >=CHR$<fi >
30030 NEXT P
30040 RETURN
51
• 3 ) ®
GIOCHIAMO CON ATARI
TANK BATTLE
(Due joystick)
In questo gioco, progettato per due giocatori, muovete i vo¬
stri carri armati e fate fuoco per distruggere l’avversario.
Se riuscirete a farlo otterrete un punto. Muovendo il joy¬
stick verso l'alto si avvicinano i motori del carro armato, il
quale comincia ad avanzare. Per girare, muovete il joystick
rispettivamente verso sinistra e verso destra. Per sparare
premete il pulsante rosso.
j. REFI X * £ % t £ £ £ £ £ £ £ £ £ $ $ £ £ £ XX $ X £ $ $ £ £ X £ £
2 REFI * TANK BATTLE *
3 REFI £ - *
4 REFI £ Hfitten by Paul Bum £
5 REFI £££££££££££££££££££££££££££££££
6 REFI
1A DI FI F1 P: 29 > , F2$< 20 > , X< 8 > , Y< 8 > : F1 P. 1 >
CHR$< 172 > : F1 P- 20 >=CHR$< 172 > : F1 P. 2 >=F 1 $ :
il 11
vi 4 -— 99 9999999999999
20 RAF1=PEEK<106>-16SP0KE 756, Fi AH: IF F'EEK
c203X>200 THEN GOSUB 830:POKE 203,200
30 RESTORE 960:FOR Q=1 TO 3:READ XX,VY:X
< Q >=XX:Y<Q >=VV:NEXT Q:C1 = 1 :C=1
40 GRAPHICS 2
50 ? #6;" tank battie "
60 v #Bi" £££££££££££££"
70 ? : ? “ ENTER TIHE TO PLAV " i : INPUT TI
80 REFI
90 GRAPHICS 17:PQKE 756,F:AH:Fl=14:F2=14:
X=5:Y=14:Q=15:W=5:FF1 = 1 :FF2=1
100 S=STICK< 0 >: IF S=7 THEN C=C+l:IF 08
THEN C=1
110 IF S=11 THEN C=C-1:IF C<1 THEN C=8
120 IF S=14 THEN COLOR 32:PLOT X,V:X=X+X
c > : v=Y+V< C > : SOUND 0,200,8,8
130 IF S<>14 THEN SOUND 0,0,0,0
140 IF X<2 OR X>18 THEN X=X+-X<C>:X=<X=2
>£18+<X=18>£2
52
■n li
TANK BATTLE
158 IF V<2 OR V>18 THEN V=V+-V<C>:V=<V=2
>$18+<V=18>$2
168 COLOR CsPLOT X,Y
170 IF STRIO 1 '0>=0 AND FF1=1 THEN GOSUB 3
40
180 IF STRIGO>=0 AND FF2=1 THEN GOSUB 5
20
190 S=STICK<1>:IF S=7 THEN Cl=Cl+lsIF CI
>8 THEN C1=1
280 IF S=U THEN C1=C1-1:IF Cl<2 THEN CI
— i“i
210 IF S=14 THEN COLOR 32:PLOT Q,H:Q=Q+X
< C1 >: W=W+V< C1 >: SOUND 1000,8,8
220 IF 3014 THEN SOUND 1,0,0,0
230 IF Q<2 OR Q>18 THEN Q=GH—X<C1 >:G!=<Q=
2 >:U8+<Q=18 >t2
240 IF H<2 OR M>18 THEN W=W+-V<CI>:W=<H=
18>&2+<H=2>$18
250 COLOR CI: PLOT Q,W
260 IF F1<1 THEN POSITION 0,21s? #6;"out
of sHots":FF1=0:GOTO 280
270 POSITION 0,21:? #S;"shotsl»;F1$<1,F1
- Il II
280 IF F2< 1 THEN POSITION 0,22:? #6i"out
of =-hot-‘=-" : FF2-0: GOT0 300
290 POSITION 0,22:? #6 i "shots2" i F2$< 1 ,F2
**, - Il II
300 POSITION 5,0:? #6;SI:POSITION 15,0:?
#6iS2: POSITION 8,0: ? #6,' "TIHE" : POSITION
9,1:? #6iINT<TI" "
310 IF PEEKX 53279 >=6 THEN GOTO 90
320 TI=TI-0.1:IF TI<0.1 THEN 800
330 GOTO 100
340 x1=X+X<C >: V1=V+V<C >
350 IF C=1 OR C=5 THEN FC=10
360 IF C=3 OR C=7 THEN FC=12
370 IF C=2 OR C=6 THEN FC=11
380 IF C=4 OR C=8 THEN FC=13
390 FOR F=1 TO 5:LOCATE X1,VI,XX:COLOR F
C: PLOT XI,VI
400 IF XX<>32 AND XX<10 THEN GOSUB 700:S
1=S1+1:HH= 1: GOTO 450
410 SOUND 0,255-F&50,8,15: SOUND 1,150-F:*
53
■■■
■■■
□z
m
“1 _ |
rr
■■■
■ ■■
■ ■■
■■
■■■
■■■
■■■
■■■
_i GIOCHIAMO CON A 1 Ari
■■
■■■
■ ■■
■ ■■
■ il
L_Lj
111,1
LLL
-LU
CE
re
ere
me
cr
30*8*155
420 IF XI>13 OR XI<1 THEN 450
430 IF VI >18 OR YKl THEN 450
440 X1=X1+X< C >: V1=V1+V<C >:NEXT F
450 X1=X+X<C >: V1=V+V(C>
460 FOR E=1 TO 5:COLOR 32:PLOT XI,VI
470 IF XI>18 OR XI<1 THEN 500
480 IF VI>19 OR YKl THEN 500
490 X1 =X 1 +X< C >: V1 =V 1 +V< C >: NEXT E
500 SOUND 0,0,0,0:SOUND 1,0,0,0:F1=F1-1 :
IF HH=1 THEN HH=0:6OTO 90
510 RETURN
520 X2=Q+X< C1>:V2=H+V<C1>
530 IF Cl=l OR CI=5 THEN FC=10
540 IF CI=3 OR CI=7 THEN FC=12
550 IF CI=2 OR CI=6 THEN FC=11
560 IF CI=4 OR CI=8 THEN FC=13
570 FOR F=1 TO 5:LOCATE X2,V2, XX: COLOR F
C: PLOT X2,V2
580 SOUND 0,255-FX50,8,15:SOUND 1,150-FX
30,8,15
590 IF XX< >32 AND XXC10 THEN 60SUB 750:S
2-S2+1 :HH=1:60T0 630
600 IF X2>18 OR X2<1 THEN 630
610 IF V2>18 OR Y2<1 THEN 630
620 X2=X2+XX C1>:V2=V2+V<C1>:NEXT F
630 X2=Q+X(Cl>:V2=H+V<CI>
640 FOR E=1 TO 5:COLOR 32:PLOT X2,V2
650 IF X2>18 OR X2<1 THEN 680
660 IF V2>19 OR V2<1 THEN 680
670 X2=X2+X< Cl>:V2=V2+V< Cl>:NEXT E
680 SOUND 0,0,0,0:SOUND l,0,0,@:F2=F2-l:
IF HH=1 THEN HH=0:GOTO 90
690 RETURN
70@ FOR 6=15 TO 0 STEP -3
710 FOR H=@ TO 2
720 SOUND H,RND<1>$50+100,8,8
730 NEXT H
740 NEXT 6:FOR 6=0 TO 2:SOUND 6,0,0,0:NE
XT 6:RETURN
750 FOR 6=15 TO 0 STEP -3
54
TANK BATTLE
769 FOR H=0 TO 2
770 SOUND H,RND<1>*58+100,8,6
78@ NEXT H
780 NEXT 8:FOR 8=0 TO 2:SOUND 8,0,0,0:NE
KT 6:RETURN
800 POSITION 5,10:? #6;"GfiHE OUER"
810 S1=0:S2=0:FOR Q=1 TO 5
820 SOUND 0,100+C,10,15:SOUND 1,120+C,10
,15:SOUND 2,90+C,10,15
830 C=C-1:IF C=-30 THEN 850
840 GOTO 820
350 C=0:NEXT Q
860 FOR Q=0 TO 2:SOUND Q,0,0,0:NEXT Q
870 IF PEEK<53279>=6 THEN RUN
880 F'OKE 53279,0: GOTO 870
890 FOR 0=0 TO 1024:fi=PEEK< 57344+Q>:POKE
Rfìf1$256+Q , fi : NEXT Q : 0=8
900 READ fi:IF ft=-l THEN RETURN
910
POKE
ROTO
256+0,fi
:C=
0+1: GOTO 900
920
DfiTfi
24,2
4,2
19,2
19,
255,255
,255,2
19,
2
5,58,100
,249,
187
,62,
12,
24,254,
254,48
r li
7
,127,48,254,2
54
925
DfiTfi
24,1
2,6
2,18
-7 j
I
49,100,
50,25
930
DfiTfi
219,
255
,255
,25
5 j 19 *
19,24,
24,
il
4,50,124
• cLiì 1 #
159
,38,
76,
152
935
DfiTfi
127,
127
,12,
254
,254,12
, 12 r‘ , 1
i! « ' j
1
52,76,38j
.159,
221
,124
,50
,24
940
DfiTfi
112,
120
,248
,25
4,255,1
27,60,
56,
v
4,24,24,24,24,24,24,24,1,2,4,8,16,82,6*4 ,
128,0,0,0,255,255,8,0,0
950 DfiTfi 128,64,32,16,8,4,2,1,-1
960 DfiTfi 0,-1,1,-1,1,0,1,1,0,1,-1,1,-1,0
,- 1,-1
■■■
■■
■■■
TTTTTTTTTl CiinLHIAMf» LflNT ATARI 1
■■
LI
Il 1 1 1 1 1 1 1 1 ! 1 1 1 1 1 1 1 1 1 1 1
■■
DIGIT DODGE
Usate i tasti ‘Z’ e ‘X’ per muovere il vostro mangianumeri.
Premete V per sparare e “masticare” i numeri che appaio¬
no sul mangia-numeri. Distruggendo l’asterisco ('*’), che
nasconde un punteggio misterioso, otterrete un “bonus”
da aggiungere ai vostri punti. Il gioco termina quando i nu¬
meri invasori raggiungono il vostro cacciatore di numeri.
0 GOTO 135:REH ** DIGIT DODGE BV P.BUNN
1 FOR 1=50 TO 75 STEP 2:SOUND 0,1,18,15:
NEXT 1: 1=0: 't-PI+48: IF H=18 THEN V=10
2 QT=CHRTCV>: IF PTC 1,1 >=QT THEN I=1:S=S+
10
3 IF PTC2,2>=QT AND 1=0 THEN PTC2,2>=HTC
1 <1 ):1=1:S=S+28
4 IF PTC 3,3 >=QT FINO 1=0 THEN PTC 3,3 >=PTC
2.2 >: PTC 2,2 >=PTC1,1>:1 = 1:S=S+30
5 IF PTC 4,4 >=QT PND 1=0 THEN PTC4,4>=PTC
3.3 >: PTC 3,3 >=PTC 2,2): PTC 2,2 >=PTC 1,1 >: 1=1
:y=s+40
e IF PTC 5,5 >=QT PND 1=0 THEN PTC 5,5>=PTC
4,4): PTC 4,4 >=PT-C 3,3): PTC 3,3 >=PT-C 2,2 > : I = 1
:S=S+50
7 IF PTC 6,6>=QT PND 1=0 THEN PTC 6,6>=PTC
5,5 > : PTC 5,5 >=PTC 4,4 > : PTC 4,4 >=PTC 3,3): PTC
3,3 >=PTC 2,2): I=1:S=S+60
8 IF 1 = 1 THEN PTC 1,1...
10 IF 1=1 PND QT=CHRTC10> THEN FOR 1=255
TO 20 STEP -18:SOUND 0,I,10,15:NEXT I:S
=S+CINTC RNDC 0 >#7+3>#100>
11 POSITION 1,0:7 #6ìSCTìS:? #8; 1! Ri 9+.:
",-HS
12 SOUND 0 , 0 , 8 , 0 : RETURN
20 FOR 1=14 TO 0 STEP -2: SOUND 0,(1+15*30
,10,1:NEXT I:RETURN
135 DITI PTC 6 >,QTC 1 >,SCTC 6 >: 60SUB 2008
140 GRPPHICS 2:SETCOLOR 4,2,2:SETCOLOR 2
56
—
---
—
---
—
—
TT
TT
TI
□
__i DICil I DODCjE
---
---
---
—
t
i i! *4
i 50 fl$= » •> : A$< 6 , 6 >=CHR$< RND( 0 >*9+48 >
160 S=0:N=5: 0=8:U=18:GOSUB 11
165 V=H+48:IF 0=10 THEN V=10
170 POSITION 5,5:? # 6 ;CHR$< Y);.iA$
180 I=PEEK<764 >: 12=PEEK<53775 >
190 IF 1=22 AND 12=251 THEN n=n+l:GOSUB
20: IF PI> 10 THEN F1=0
200 IF 1=23 AND 12=251 THEN Pl=f1-1 : GOSUB
20: IF PK0 THEN Pl= 1 ©
210 IF 1=34 AND 12=251 THEN GOSUB 1
215 1=0
220 TRAP 1000:0=0+1: IF 0.- U=INT< 0- U ) THEN
m< N,N >=CHR$< RND< 0 >* 10+48 >: 1 = 1
222 IF 1 = 1 THEN IF A*<N,N>=CHR*<53> THEN
A$<N,N>=CHR$< 10)
224 IF 1=1 THEN N=N-1:1=0
225 IF INT (. RND< 0 >*20 >=3 THEN U=U-l:IF U<
8 THEN U =8
230 TRAP 40000:GOTO 165
1000 ? # 6 : ? # 6 i ". . i nvaded.. " : FOF; I =90 TO
220 STEP 11 :FOR H=80 TO 90 STEP 2:SOUND
8 , H,10,15:SOUND 1,1,10,15
1010 SETCOLOR 4,H,4
1020 POKE 709,1NT<RND(0 >*15 >$ 16+8
1030 NEXT H:NEXT I:SETCOLOR 4,2,4:POKE 7
64,255
1040 SOUND 0,0,0,0: SOUND 1,0,0,0:1F S >HS
THEN HS=S:POSITION 0,2:? # 6 i"hi 9 h score
i ! ! ! 11
1050 ? "ANOTHER TRV "; :TRAP 1050:INPUT A
$
1055 IF A$<1,1>="N" THEN GRAPHICS 0:? “G
OODBVE.":? :? : END
1060 IF A$<1,1>="V" THEN 140
1070 GOT0 1050
2000 FOR P=1 TO 6
2010 READ N
2020 SC*<P,P >=CHR*<N >
2030 NEXT P
2040 DATA 243,227,239,242,229,186
2050 RETURN
57
GIOCHIAMO CON ATARI
GRAND PRIX 2
(Joystick)
Usate il joystick per guidare la vettura di formula che corre
lungo la pista. Se riuscite ad arrivare al traguardo, vincere¬
te un “bonus” e il vostro punteggio verrà raddoppiato!
10 REFI tt GRAND PRIX 2 - P.BUNN tt
15 PI=5:GOSUB 3000:CRASH=1000
28 X2=14:X=116:S=PEEK<106>-8:Q=S£256:FOR
N=Q+512 TO 0+640sPOKE N,@:NEXT N:P0KE 5
4279,6
30 POKE 559,46:POKE 53248,X:PQKE 704,216
:POKE 704,70:POKE 53256,1
40 FOR N=Q+552 TO Q+561: READ fi:POKE H,fì:
NEXT N
50 DATA 129,195,165,24,24,153,219,165,36
, 24
60 GRAPHICS 0:SETCOLOR 2,0,0:POKE 53277,
3:POKE 559,46
65 POKE 752,1:POKE 53278,fi
66
FOR F‘=0
TO 23:PO
iKE 201 ,X2: ?
,S2$:NEXT
n.
i
70
S=STICK<
; 0 >: x=X+<
S=7>X2:X=X-
< S=11 Xt2:P
OKE 53248,X
72 SOUND 0,40,10,15:SC=SC+PI : SOUND 0,0,0
, 0
75 IF 0 THEN 0=0:Z=2:GOTO 110
80 fi=PEEkX 53770 ?
90 IF fi>85 AND AC170 THEN Z=2
100 IF A>170 AND X2<15 THEN Z=3:0=l
105 IF fì<85 AND X2>2 THEN X2=X2-1:Z=1: 0=
1
1 1 0 F'UKE 201, X 2
115 IF A=192 AND NOT I THEN ? ,F$:1=1:6
OTO 145
120 IF Z=1 THEN ? ,SU
58
4
■ ■1
■ ■1
■ ■1
IBI
IBI
IBI
IBI
IBI
IBI
IBI
4 GRAND PRIX 2 L
Bl
■ 1
IBI
IBI
IBI
IBI
IBB
IBB
BBI
BBI
h
T
i_L
J_L
±1
1±
n
Bl
IBI
IBI
IBB
BBI
r
130 IF Z=£ THEN ? ,S2$
140 IF Z=3 THEN ? ,S3$:X2=X2+1
145 V=PEEKX53252>:IF V<>0 AND I THEN GOT
0 2000
150 IF VO0 THEN GOTO CRASH
160 GOTO 70
1000 REFI ** VOU CRASHED ! tt
1010 N=INT<RND<01@ >:POKE Q+552+N,PEEK<
53770 >: SOUND 0,RND<0>*20+20,80,15:POKE 7
U4,PEEk(. 53770 >
1020 IF PEEK( 53770X240 THEN 1010
1030 POKE 53248,0:? :? "VOU SCORED:"iSC:
? :? : ? "HIT ANY KEV.":POKE 764,255
1035 SOUND 0,0,0,0
1040 IF PEEK<764>=255 THEN 1040
1050 RUN
2000 FOR V=0 TO 255:POKE 710,V:NEXT V
2005 ? CHR$<125>j"VOUR SCORE :";SC:POKE
718,0
2010 ? " BONUS : 1000":B=1000
2020 FOR 6=1 TO 1000 STEP 10:B=B-10:SC=S
C+10:POSITION 14,0: ? SC:POSITION 14,1 : ?
B i" ": SOUND 0 , G-"4,10,10 : NEXT G
2030 SOUND 0,0,0,0
2040 ? : PI =F‘I$2: ? "STEP UAUJE NON IS "iP
I
2045 RESTORE : 1=0
2050 GOTO 20
3000 DI PI F$< 8 > , S1 *>: 8 > , S2$< 8 > , S3$< 3 >
3010 RESTORE 3000:FOR F-l TO 8
3020 READ H,B,C,D
3030 Ft(P,P>=CHRT(fl)
3040 S 1$<P,P >=CHR$< B >
3050 S2$< P , F’ >=C:HR$C C >
3060 S3$< p, p >=»:hr$< D >
3070 NEXT P
3080 RESTORE : RETURN
3090 DOTA 160,6,22,7,19S,32,32,32
3100 DATA 201,32,32,32,206,32,32,32
3110 DATA 201,32,32,32,211,32,32,32
3120 DATA 200,32,2,32,160,6,32,7
59
CITY BOMB
(Joystick)
Il vostro aeroplano ha avuto un’avaria ai motori e sta scen¬
dendo lentamente verso una città sottostante. Bombardan¬
do la città e uccidendo milioni di persone potrete atterrare
senza problemi, altrimenti vi fracasserete! Premete il pul¬
sante sul joystick ogni volta che volete sganciare una bom¬
ba.
CITY BOMB
2fi REFI ** CITY BOHB VERSION II «
30 REFI « HRITTEN BV PAUL BUHN «
40 REFI tt JANUARY 1983 XX
50 REFI XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
60 REFI
65 IF PEEK< 203 >=PEEK< 106 >-8 THEN 80
70 60SUB 10000: REFI * IN1TIALIZATION X
80 GRAPHICS 0:SETuOLOR 2 # 8 » 0 :SETCOLOR 4#
o i y
90 OPEN # 1 # 4,0 # " K : " :POKE 752#1
100 ? "WHAT SKILL LEUEL <l-9>"
110 SET #l,A:A=A-48
120 IF A<1 OR A>9 THEN 110
130 A=A+3
135 POKE 756 #PEEK< 203 >
140 ? GHR$<125 >:FOR 1=1 TO 38
150 Y=INT<RND<0>*AH1
160 FOR P=22 TO 22-Y STEP -1
170 POSITION I#Ps? "f " : REFI XCITV CHARACT
ER X
180 NEXT P
190 FOR P=15 TO 0 STEP -1
200 SOUND 0#1X6+20#10#P
210 NEXT P
220 NEXT I
238 COLOR 94
240 PLOT 1#23:DRAHTO 39#23
250 X= 1 : Y=0 : BFI=0 : SC=@
260 POSITION X # V:OX=X:OY=Y
270 F'RINT "X" i : REFI XF'LANE CHARACTERX
280 X=X+1
290 IF X=39 THEN X=l:Y=Y+l
300 IF X>25 AND Y=22 THEN 1600: REFI XF1ADE
310 LOCATE X#V,Z
320 POSITION OX#OV:? 11 "
330 IF Z=ASC< > THEN 2000:REFI TCRASHX
340 IF STRIG< 0>=0 AND BH=0 THEN 60SLB 30
90: REFI X BIJTTON ROUTINE X
350 IF BF1=1 THEN GOSUB 4000: REFI X FIOUE B
61
■
■■
■■■
■■■
■ai
■ai
] |
ai
■ai
iaa
BBI
IBI
i
[i
■■
IH
■■■
IBI
■ai
GIOCHIAMO CON A l AKI
ai
■ai
iaa
aai
IBI
■gì
_L
X-L
_LL
XX
IX
ai
•ai
iaa
■■■
IBI
■al
QNB ROUTINE t
360 GOTO 260
1000 POSITION 13,10:? “LflNDED !"
1010 POSITION 13,11:? "Jfcm****"
1020 FOR T=0 TO 6000 STEP 20
1030 SOUND 0,T,10,15:NEXT T
1035 SOUND 0,0,0,0
1040 ? CHR$<125 > i "NELL DONE , VOUR SCORE
MAS “iSC
1050 END
2000 POSITION X-1,V-1
2010 ? CHR$<7 > j CHR$(124 >iCHR$<6)
2020 POSITION X-1,V
2030 ?
204© POSITION X-l,V+1
2050 ? CHR$<6> ; CHR$<124 >;CHR$<7 >
2060 FOR F'=200 TO 10 STEP -10
2070 FOR I=P-5 TO p+5
2080 SOUND 0,1,120,15
2090 NEXT I
2100 C=INT<RND<0>X15 >
2110 SETCOLOR 2,C,2:SETCOLOR 4,C,2
2120 NEXT P
2130 SOUND 0,0,0,0
2140 POSITION 6,10:? "finother try ?"
2150 GET #1,R
2160 IF CHR$< fi >=" V" THEN RIJN
2170 IF CHRT-< fi >< >"N 11 THEN 2150
2180 GRAPHICS 0:END
3000 BH=1 : BX=X:BV=V+1:K=@: RETURN
4000 POSITION BX,BV:? " "
4010 BV=BV+l:LOCATE BX,BV,Z
4020 POSITION BX,BV
4030 ? CHR$< 39 >: REN *BOTTB CHARfiCTERX
4040 IF Z=ASC<"T"> THEN 5000
4050 IF BV=22 THEN POSITION BX,22:? “ 11 :
Bn=0
4060 RETURN
5000 POSITION BX,BV: ? "S,": SOUND 0,230,12
0,15:SC=SC+50
5010 POSITION 2,0:? “SCORE:";SC
62
CITY BOMB
5020 K=K+1:IF K=5 THEN BH=0:POSITION BX*
gy ■ v «» ii
5030 POSITION BX*BV:? " “
5040 SOUND 0*0*0*0:GOTO 4050
10000 GRAPHICS 0
10010 SETCOLOR 4*9*0:SETCOLOR 2*9*0
10012 ? "CITV BOF1B - PLEflSE HA IT”
1 00 14 ? ■■ *m*^*m***m***m ••
10016 POKE 752*1 SPRINT
10020 R=PEEK<106 >-8
10030 FOR P=0 TO 1023
10040 POKE R#256+P*PEEKX57344+P >
10050 NEXT P
10060 READ I
1O070 IF I<0 THEN POKE 203*RsRETURN
10080 FOR P=0 TO 7
10090 READ K
10100 POKE R*256+<8*I>+P*K
10110 NEXT P
10120 GOTO 10060
10130 DATA 4*255*129*129*129*129*129*129
“lETC -
I | !
1
q
■ GIOCHIAMO CON ATARI r I
1:
_
ir
ENGULF
(Tastiera)
State guidando la navicella spaziale Battlestar e dovete
sconfiggere un alieno distruggendo tutti i settori di spazio
che lo circondano. Né voi né l’alieno (raffigurato con la let¬
tera A) potete spostarvi nella parte esterna della zona di
spazio visibile (queste aree dall’accesso proibito sono raffi¬
gurate come ’-’). Ad ogni mossa l’alieno può spostarsi di
uno, due o nessuno spazio e voi dovrete inserire la vostra
mossa sotto forma di due coordinate, premendo il "RE¬
TURN” dopo ognuna di esse. Ogni area distrutta viene indi¬
cata con uno spazio vuoto, mentre l’area non colpita viene
indicata con degli asterischi.
Sconfiggerete l’alieno distruggendo completamente tutti
gli spazi dove potrebbe spostarsi. Non potete atterrare
sull’alieno: se lo fate vi autoannienterete. L’alieno tiene sot¬
to controllo lo spazio circostante e segnala al computer il
grado di pericolo che rileva, cosicché voi sapete, più o me¬
no, ciò che pensa l’alieno. La strategia migliore consiste
nell’intrappolare l’alieno contro uno dei lati, poiché in que¬
sta maniera se ne limiteranno le possibili mosse. L’alieno è
a conoscenza di questa possibilità e, usando l”'intelligen-
za” nelle istruzioni 6145 e 6161, tenderà ad allontanarsi dai
lati in modo da ridurre la possibilità di restare intrappolato.
Sapendo cosa può fare l’alieno fareste bene a costruirgli
intorno un «recinto» di aree vuote, tentando di mantenerlo
in quelle o obbligandolo a spostarsi verso i lati. Questo gio¬
co prevede un “highest score” (massimo punteggio).
1 GRfiF’HIUS a:SETUULUR 4#8#u:SETL'ULUR 2*o
,0
3 DIPI 10,10)
5 HISCQRE=0
10 REH ENGULF
20 REFI COHflRTNELL 1982
30 GOSUB 9000:REH INITIALISE
40 GOSUB 8000:REH FRINT OUT
64
Si
■■1
HI
HI
HI
HI
■ai
■■i
HI
HI
HI
"i ENGULF h;
HI
IBI
IBI
IBI
HI
HI
HI
IBI
HI
IBI
\Z
X
XI
XI
n
n
II
■ai
IBI
IBI
IBI
IBI
■I
50 GOSUB 7000:RETI ACCEPT PLAVER DECISION
60 GOSUB 6000:REO UPDATE ALIEN
78 TI F1E=T I HE-1
75 SHOTS=SHOTS+1
80 IF TIHE=0 THEN 6570
85 GOSUB 8000
90 GOTO 50
910 TIHE=30
5000 REH COLLISION
5010 FRINT "VOU HIT THE ALIEN,CAPTAIN"
5020 PRINT "AND HAUE BEEN DESTROVED"
5030 GOTO 6570
6000 REFI iJPDATE ALIEN
6010 REFI CHECK IF SURROUNDED
6020 H=@
6030 IF A<n-1,N >=2 THEN H=H+1
6040 IF A(PI— 1,N-1 >=2 THEN H=H+1
6050 IF ACri,N-1 >=2 THEN H=H+1
6060 IF A<f1,N+l>=2 THEN H=H+1
6070 IF A-: P1-1 ,N+1 >=2 THEN H=H+1
6080 IF A< n+1 jN+1>=2 THEN H=H+1
6090 IF A<Fl+1 ,N-1 >=2 THEN H=H+1
6100 IF A<n+1,N>=2 THEN H=H+1
6110 IF H=8 THEN 6500:REH SURROUNDED
6120 REFI PIQUÉ ALIEN
6125 E=Fl: F-N
6130 F1=F1-INT< RND< 1 >$2 >+INT< RND< 1 >$2 )
6140 IF Fl<2 OR H>9 THEN 6130
6145 IF <FK4 OR Fl>7> AND RND<1>>0.7 THEN
6130
6150 N=N-INT<RND<1)*2>+INT<RND(1>*2>
6160 IF N<2 OR N>9 THEN 6150
6161 IF < N< 4 OR N >7 > AND RND< 1 >>0.7 THEN
6150
6162 IF ACF1,N>=2 THEN 6130
6165 A< E,F >=tì
6170 A< F1,N >=1
6300 RETURN
6500 REH SURROUND
6505 GOSUB 8000
65
4
1 1
1
CI
GIOCHIAMO CON À 1 AKI p_
±2
ni
6510 FRINT "ENGULFED! NELL DONE"
6520 FRINÌ "IT TOOK VOLI "jSHOTSì" SHOTS"
6530 FRI NT "AND VOU DIO IT NITH " # TI PIE ; 11
TIHE UNITS", "LEFT"
6540 Q=T I f'IE v: 125.67
6550 FRINÌ "VOUR RATING IS ";Q
6560 IF Q>HISCORE THEN HISCORE=Q
6570 FRINÌ "HIGHEST SCORE SO FAR IS "iHI
SCORE
6580 FRINT
fiSSA FRINT "ENTER 1 FOR ANOTHER GARE#2 T
0 END"
6600 INPUT A
6610 IF A=1 THEN 10
6620 FRINT "OUER AND OUT,CAPTAIN"
6630 END
7000 REFI ACCEFT FLAVER DECISION
7010 FRINT "HHICH SECTOR HILL VOU SHOOT
AT"
7020 FRINT "ACROSS "ì
7030 TRAP 703@: INPUT £;:TRAP 40080
7035 IF S<2 OR S>9 THEN 7030
7040 FRINT Si" AND DOWN "i
7050 TRAP 7050:INPUT R:TRAP 40000
7055 IF R<2 OR R>9 THEN 7050
7060 IF A<R,S>=1 THEN 5000:RETI HIT ALIEN
, END OF GAF1E
7070 IF A<F:,S>=2 THEN FRINT "SECTOR ALRE
ADV DESTROVED":FOR P=2Ù0 TO 255:SOUND 0,
P j10,15:NEXT P: SOUND 0,0,0,0
7090 IF A<R,S>=2 THEN RETURN
7100 A< R,S>=2
7110 RETURN
8000 REFI FRI NT OUT
8005 FRINT CHR$(125)
8020 FRINÌ
8030 FRINT "-ALIEN SENSES DANGER OF F
ACTOR-"iHi"-"
8050 FRI NT "BATTLESTAR COP1PUTER REPORTS:
HIGHEST SCORE IS "iHISCORE
8060 FRINT "-
66
4
n
III
IBI
n
IBI
IBI
IBI
IBI
TT
1
et
IBI
IBI
IBI
IBI
IBI
hNliUl.h _jl
TT
IBI
IBI
IBI
IBI
L
-Li
H
JZL
li
XX
XX
xr
II
H
T
8980 FRINT
8090 FRI NT " ALIEN NON AT "itti" "i PI
8100 FRINT
8110 FRI NT "TUIE LEFT: “ ;TIP1E, "SHOTS FIR
ED: "iSHOTS
8120 FRINT
8125 FRINT “12345678910"
8130 FOR K=1 TO 10
8140 FOR J=1 TO 10
8145 IF K< 2 OR K >9 OR .J<2 OR U>9 THEN PR
INT "-"i
8146 IF K<2 OR K>9 OR J<2 OR J>9 THEN 81
80
8150 IF A<K , J)=0 THEN FRINT SOUND O
iKI8+JI4i10,15
8160 IF A<K,J>=Ì THEN FRINT "A”;:FOR P=2
0 TO 0 STEP -lsSOUND 0,P,12,15:NEXT P
8170 IF A< K, J >=2 THEN FRI NT " " ; : FOR F*=4
0 TO 0 STEP -2:SOUND 0,P,8,15:NEXT p
8180 SOUND 0,0,0,0:NEXT J
8190 FRINT K
8200 NEXT K
8210 FRINT
8990 RETURN
9000 REH INITIALISE
9010 TIf1E=30
9020 SHOTS=@
9030 H=0
9050 FOR B=1 TO 10
9055 FOR C=1 TO 10
9060 A<B,C>=@
9£i65 IF B<.2 OR E!>9 OR C(2 OR C >9 THEN A 1 -!
B,C >=2
9ti67 NEXT L
9070 NEXT B
9080 P1=INT( RND< 1 >*7 >+2
9090 N=INT<RNDC 1 >*7 >+2
9100 A<n,N>=l
9900 RETURN
67
GIOCHIAMO CON ATARI
COLOUR
PATTERN
Questo breve programma presenta figure e creazioni che
producono un effetto ipnotizzante con la rotazione conti¬
nua dei colori.
iti uRAPHIU o iti
20
POKE
704
,0
30
POKE
705
,1;
40
POKE
706
,3:
50
POKE
707
,1;
55
POKE
708
,1;
60
FOR X
=0
TO
70
C=C+1
:IF
D
80
COLOR
c
30
PLOT
X , X
100 DRflWTO 79-X,X
110 DRflWTO 79-X,131-X
120 DRflWTO X#131—X
130 DRflWTO X,X
140 NEXT X
145 REFI %t ROTATE COLOURS
150 fi=PEEK< 705 >
160 POKE 705 r PEEK(706)
170 POKE 70e,PEEK<707>
185 POKE 707,PEEK(708 >
186 POKE 708,fl
190 fl=SIN< A >: REFI «: DELflV
200 GOTO 150
68
COl.OUR PUZZLE
COLOUR PUZZLE
(Tastiera)
La soluzione di questo meraviglioso puzzle dovrebbe rive¬
larsi una sfida per voi. Ecco le regole:
Le prime quattro mosse devono essere eseguite nei quat¬
tro angoli (01, 10, 16 e 25);
Per collocare un quadrato colorato sulla scacchiera è ne¬
cessario che sia vicino ad un altro quadrato in orizzontale o
in verticale, non in diagonale;
Un quadrato colorato non può essere collocato vicino ad
un altro quadrato del medesimo colore che si trovi in uno
degli otto quadrati che lo circondano. Disponete i quadrati
colorati secondo queste regole finché tutti i 25 spazi saran¬
no riempiti.
I riquadri sono numerati nel modo seguente:
_10_
05 11 17
09 15 21
16
Notate che è necessario porre uno zero prima delle cifre sin¬
gole e che non bisogna premere il tasto RETURN. Se tenta¬
te di compiere una mossa che non è permessa il computer
vi avvertirà suonando. Quando non riuscite più a muovere,
battete ‘99’.
■.■kipjaiji
69
Esssissiiliii
GIOCHIAMO CON ATARI
■■■■■
iiil
■■
u
H
□
□
□
□
_l
L
U
u
□
□
□
_
□
□
II
10 REFI tt COLOUR PUZZLE - tt
20 REFI tt BV PAUL BUNN tk
30
GRAPHICS
10
40
POKE
704
,12
50
POKE
705
,3*
16+4
60
POKE
706
,12
& 16+6
70
POKE
707
J f"
16+2
80
POKE
708
#15
X16+4
90
POKE
709
#8:
POKE
10@ COLOR 6:POKE 703#4
110 FOR X=@ TO 48 STEP 8
120 READ V
130 FOR K2=0 TO 7
140 PLOT X+X2+12,90-V
150 DRAWTO N+X2+12,9@+Y
160 NEXT X2
170 NEXT X
180 DATA 10,30,50,70,50,30,10
190 DIPI X< 25 >,V< 25 >
200 FOR X2=l TO 25
210 READ X, V : X< X2 >=X : V< X2 >=V
220 NEXT X2
230 DATA 12,80,20,60,20,80,20,100
240 DATA 28,40,28,60,28,80,28,180
250 DATA 28,120,36,20,36,40,36,60
260 DATA 36,80,36,100,36,120,36,140
270 DATA 44,40,44,60,44,80,44,190
280 DATA 44,1ZU,52,60,52,o0,52,100
290 DATA 60,80
300 FOR F-l TO 25:COLOR 5:PLOT X< P >+3 ,'t'<
P>+10:NEXT F
310 OPEN #1,4,0, "K:“
311 COL=INT(RND(0>£5>+1 : COLOR COL
312 B=B+< mL=3 ':> : R=R+< COL= 1 :> : G=G+< C0L=2 > :
VL=YL+<C0L=4>:BL=BL+<C0L=5)
313 IF COL=Ì AND R>5 THEN R=5:G0T0 311
314 IF C0L=2 AND G>5 THEN G=5:G0T0 311
315 IF C0L=3 AND B>5 THEN B=5:G0T0 311
316 IF C0L=4 AND VL>5 THEN VL=5:60T0 311
70
cf
---
---
IBI
IBI
IBI
IBI
"i COI OLIR PU771E r-'-
■■■
■■■
IBI
IBI
■ ■■
■■1
IBI
■■1
HI
HI
h
L
n
n
■■■
1_L
HI
HI
HI
!T
317 IF C0L=5 fiND BL>5 THEN BL=5:G0T0 311
319 FOF: F-0 TO 10: PLOT P#0:DRfiWTO P,20:N
EXT P
320 SET #1,KEV:KEV=KEV-48:KEV-KEVX10
325 6 ET #1jKEV2:KEV=KEV+KEV2-48
326 IF KEV=99 THEH 2000
327 IF KEV<1 OR KEV>25 THEH FRINT CHR*<2
53>:GOTO 320
330 LOCATE X<KEV>,V< KEV >,C
340 IF C<>6 THEH PRIHT CHRfK253>:GOTO 32
0
350 IF KEVOl AND KEVO10 ANO KEV016 AH
0 KEV025 AND K<4 THEH PRIHT CHF:$(253>:G
OTO 320
355 IF J=1 THEH K=5
360 IF KEV= 1 OR KEV=10 OR KEV=16 OR KEV=
25 THEH K=K+1:1F K=4 THEH J=1
370 X=X<KEV >+3:V=V<KEV >+10
38© LOCATE X-6A'^C1
398 LUCHTE X-6.»V-17*C2
400 LOCATE XjV-17jC3
410 LOCATE X+6,V-17,C4
420 LOCATE X+6Xt9C5
430 LOCATE X+6,V+17,C6
440 LOCATE X * V+17 j C7
450 LOCATE X-6*V+17,C8
460 IF Cl=COL OR C2-C0L OR C3=C0L OR C4=
COL OR f:S=COL OR r:R=mL OR C7=COL OR f:P.=
COL THEH ? CHF:f < 253 >: GOTO 320
470 ij=< C1 =6 >-K C3=6 >+< C5=6 >+< C7=6 >
473 I =( C1 =0 ’>+( C3=8 )+( C5=8 )+( C7=0 )
475 IF U+1 =4 ANO K>4 THEH PRIHT CHRtt253
>:GOTG 328
480 COLOR COL
485 X=XC KEV >: V=V< KEV )
490 FOR F‘=0 TO 7
500 PLOT X+FVt 1
510 ORANTO X+P#V+19
520 HEXT P
525 IF R+6+B+VL+BL=25 THEH 1000
530 HO=HO+l:GOTO 311
71
«■■■■Siili
GIOCHIAMO CON ATARI
1 @ 0 @
1010
1020
1030
1040
1050
1060
4,3 , <
1070
1080
1090
1 100
1110
1130
1140
1150
1160
1170
2000
2010
2020
2030
2040
2050
2055
2060
2065
2070
2080
2090
2100
2110
2120
2130
FOR 6=205 TQ 5 STEP -5
FOR F-G-3 TO 6+3
SOUND 0,P,10,15
NEXT P
POKE 704,<INT<RND<8>*15 >*16 >+8
NEXT 6
GRfiPHICS 0: SETCOLOR 2,3*2:SETCOLOR
POSITION 4,12
? “NELL DOME VOU SOLUED THE PUZZLE”
POSITION 4,13
POKE 752,1
? ' ‘ ì: :^ì :ì:: :^c ‘ ‘
FOR P=0 TO 255
SOUND 0,P,10,15
NEXT P
SOUND 0,0,0,0
END
FOR 6=0 TO 256
SOUND 0,6,10,15
POKE 704,6.-2
NEXT 6
SOUND 0,0,0,0:POKE 704,12
GRAPHICS 0:POKE 752,1
POSITION 10,12:POKE 710,3*16+4
? "BAD LUCK - TRV A6AIN"
POSITION 10,13
? 11 "
FOR P=0 TO 2000 STEP 20
SOUND 0,P,10,15:NEXT P
SOUND 0,0,0,0
V m
. ■ !
? "VOU HAD ";25-N0i" LEFT TO FILL"
END
BLUEGREEN -
RFDYFIIOW
72
STRING PATTERN
STRING
PATTERN
Questo breve e semplice programma produce disegni e
suoni stupendi.
STRING PATTERN i
BV PAUL BUNN
20 REH « BV PAUL BUNN
38 REH
40 GRAPHICS 8+16:SETCOLOR
45 COLOR l:SETCOLOR 1,0,1-
50 FOR 7=0 TO 191 STEP 10
60 PLOT 64,191-7
70 DRAHTO 7+64,8
80 PLOT 191-7+64,0
90 DRAHTO 191+64,191-7
100 PLOT 64,7
110 DRAHTO 7+64,191
120 PLOT 191+64,7
130 DRAHTO 191-7+64,191
140 NE7T 7
145 FOR P=0 TO 14 STEP 0.2
150 SETCOLOR 1,0,P
155 SOUND 0 , F'740 ,10,15
160 NE7T p:GOTO 145
73
GIOCHIAMO CON ATARI
t l l l l l l l
1 1 I I 1 _____I J .1 J 1 1 1 1 1 I 1 1 )
SOUND
PROGRAM
(Tastiera)
Questo breve ed interessante programma produrrà suoni
simili a quelli emessi da un pianoforte; memorizzerà inoltre
le note e, premendo il tasto ‘ESC’, tornerà a suonarle.
SOUND PROGRAM
lo REi'i XX UUUND PRiJGRAPl SX
2@ REFI XX BV XX
30 RÉP1 XX PAUL BUNN XX
56 GRAPHICS 0
fcitì bETUULUR 2*3*0:SETCULUR 4*H*tì
70 TRAP 160
90 DIPI T<500>
100 OPEN #1*4*0*"K:"
105 ? CHR$<125>:? "PRESS KEVS TO GET DIF
FERENT"
106 ? "NOTES.TO HEAR PLAVED BACK PRESS 1
ESC 1 "
110 GET #1*A:L=L+1
115 IF A=27 THEN 160
120 T< L)=A
130 FOR X=15 TO 0 STEP -1
140 SOUND 0*A*10*X:NEXT X
150 GOTO 110
160 ? CHR$<125 >
170 ? "MHAT TEP1PO '::i-4::'"
180 GET #1*A
190 A=A-48:IF A<1 OR A>4 THEN 180
200 FOR J=i TO L
210 S=T< J>
220 FOR X=15 TO 0 STEP -1
230 SOUND 0*S*10*X:NEXT X
235 FOR 6=1 TO 10X< A-l >: NEXT 6
240 NEXT J
250 END
75
GIOCHIAMO CON ATARI
DISPLAY LIST
INTERRUPT
EXAMPLE
Questo programma mostra soltanto una piccola parte di
ciò che una DLI è capace di fare. Vi suggerisco di registra¬
re il programma prima di tentare di eseguirlo, poiché è
scritto interamente nel linguaggio macchina.
10 refi tttttttutmtttmttttttttu
20 REFI tt Display List Interrupt %%
30 REFI tt t-xample tt
40 REFI ## Wr i ttc-n by pau 1 E :, - | n!T
50 refi m*m*mmm**mwm*
00 GOSUB 1000
70 X=USR<1536)
1000 FOR 14=1536 TO 1636:READ B:POKE A*B:
NEKT fi
1001 DATA 162*16#163*3*157*66*3*163*39*1
57*68*3*169*6»157*69*3*169»12»157*74*3*1
69 # fcS * 15 1
1002 DATA 75*3#32*86#228*173*43*2*133#20
3*1 r'jj 43 *2*1 -■ # 204 # 160 # 0 * 1 { i' » 20 # 201 * 15 *
240,8*200*132
1003 DATA 0*208*245*76*63*6#163*143*145#
203*76*48*6*169*81 * 141*0*2*169*6*141 * 1*2
*163*132
1004 DATA 141*14,212*76,78*6*72*173,11,2
12*42*73*255,141*10*212*141*24*208*141,2
6*208*104*64,83
1005 DATA 58
1006 RETURN
76
m ro m
zzzzr~ ---t
"T"
'
c
REACTION TIMER r- -
t]
_ 1
T
REACTION
TIMER
(Due joystick)
Questo è un breve programma per due giocatori ed è molto
semplice da giocare. Appena vedete apparire un punto sul¬
lo schermo premete il tasto “FIRE”. Il giocatore che pre¬
merà il tasto per primo guadagnerà un punto. Il primo gio¬
catore che arriva a 10 punti vince il gioco. Questo program¬
ma mette alla prova la prontezza di riflessi.
1.0 fi EH 44 REACTION TI PIER 44
20 REFI 44 BV P.BIJNN , NOUEFIBER 1981**
38 REPI
31 DIPI A«30>,B*<30>
32 ? "PLAVER l'S NANE "j:INPUT A$
33 ? "PLAVER 2 1 S MAFIE " ; : INPUT B$
40 GRAPHICS 5
45 SETC0L0R 2,3,4
50 A= I NT( RND< 0 *4:200 >+200
60 FOR L=1 TO A
?0 IF STRIG<0 >=0 THEM GOTO 1000
80 IF STRIGc: 1 >=0 THEN GOTO 2000
90 NEXT L
100 COLOR INT<RND<0>43>+1
110 A=RND<0 >479:B-RNDC0 >439
120 PLOT A,B
130 A=0
140 A=A+1
150 IF STRIG< 0>=0 THEN 3000
160 IF STRIG(1>—0 THEN 4000
170 GOTO 140
000 GRAPHICS 0:? "CHEAT! VOU PRESSED TH
BUTTON TO SOON":SC2=SC2+1: GOTO 5000
000 GRAPHICS 0:?
BIJTTON TO SOON":
"CHEAT! VOU PRESSED TH
SCI=SCl+l:GOTO 5000
77
GIOCHIAMO CON ATARI
3800 GRAPHICS 0:? fi*; 1 ' WINS!_WITH A T
IHE OF:- "iA/100:SC1=SC1 +1:1F
SCI>=10 THEN 6000
3005 GOTO 5000
4000 GRAPHICS 0:? BWINS! _WITH A T
I HE OF : - " i A--100 : SC2=SC2+1:1
F SC2 >=10 THEN 7000
4005 GOTO 5000
5000 ? : ? : ? : ?
5005 ? "
5010 ? "
5020 ? "
5030 PRINT :PRINT
5040 ? A$i 11
5050 ? "-
SCORES"
5060 ?
5070 ? SCli"
» -C;pO
5080*”? :•? :■? "PRESS 'FIRE BUTTON' WHEN R
EADV "
5090 IF STRIP-: 0'k >0 THEN 5090
5100 FOR
6000 1 "
6005 '? !
7000 ? :
7005 ? :
L=1 TO 100SNEXT L:GOT0 40
? 5? :? AWINS THE GAP1E ! ! .. "
r : END
? S? ! ? B$i " WINS THE 6AP1E ! ! .. "
? : END
78
MORSE CODE
MORSE CODE
Quando il computer ve lo chiede, battete una frase qualsia¬
si e il programma la tradurrà in codice Morse attraverso
l’altoparlante della televisione.
!.0 refi
20 REFI * riORSE CODE CONUERTER BV X
38 REFI X P.BIJHN & J.UINCENT X
40 REFI XXXXXXXXXXXXXXXXXXXXXXXXXXXX
50 GRAPHICS 0
60 SETCOLOR 2,3,0:SETCOLOR 4,3,0
70 DL=PEEK< 56:0 >+256XF'EEK< 561 >+4
80 POKE DL+2,7:POKE DL+3,7
90 POSITIOH 0,1
LO© ? "MORSE CODE CONUERTER
ilo ? "xxxxxxxxxxxxxxxxxxxx"
1.20 ? : ? : ? "TVPE IN MESSAGE VOU WANT TO
HEAR
1.30 DIM A$( 100 >,6$< 5 >
140 SOUND 0,0,0,0: TRAF' 140: INPUT A*
L50 FOR X=1 TO LEN<A$ >
155 IF A$CK,K>= , ‘ " THEN FOR F-l TO 100:N
EXT PSNEXT X
160 V=HSC(A$<X,X >>-65
1.70 RESTORE V+1060
130 B$=" ": READ B$
L90 FOR Z=1 TO LEN<B$>
200 IF B$(Z,Z >="." THEN SOUND 0,30,10,15
:FOR P=1 TO 20:NEXT P:SOUND 9,0,0,0
210 IF Z,Z>="-" THEN SOUND 0,30,10,15
:FOR P=1 TO 50:NEXT P:SOUND 0,0,0,0
220 FOR F-l TO 20:NEXT P
230 NEXT Z
240 NEXT X
250 RUN
1000 DATA .-
1.001 DATA
79
■1
■■■
■■1
n
n
■BB
BBB
BBI
IBI
1
u
■1
IH
■■1
IBI
IBI
._l GIOCHIAMO CON A 1 ARI p.
IBB
BBB
BBI
IBI
■!J
_L
JJ_
J_L
_L_L
33
33
XI
il
1002 DATA
1003 DOTA
1004 DATA .
1005 DATA
1006 DATA
1007 DATA ....
1008 DATA ..
1.009 DATA .-
1010 DATA
1011 DATA
1012 DATA —
1013 DATA -.
1014 DATA -
1015 DATA
1016 DATA
1017 DATA .-.
1018 DATA ...
1019 DATA -
1020 DATA
1021 DATA ...-
1022 DATA
1023 DATA
1024 DATA
1025 DATA .
DOT
80
4441114 I IH COMPLIMENT GENERATOR [44Hj 1 1 1 ì 1
COMPLIMENT
GENERATOR
Vi sentite depressi? Basterà eseguire questo programma e
la vostra autostima aumenterà immediatamente.
10 RE PI » CQPIPLIPIENT GENERATOR «
20 Diri A$T 1515>
38 A=INT<RND< 1)*10>
49 B= I NT( RND< 1 >:*? >
50 RESTORE 18G0+A
60 READ A$
70 RESTORE 2000+B
80 READ B$
98 ? A$;" "iB$
95 A=INT(RND<0>#16>:SETCOLOR 2,A,4:SETC0
LOR 4,A,4
96 FOR F=1 TO 380SNEXT F
100 RIJN
1.000 DATA BRILLIANT
1001 DATA LOUELV
1002 DATA GREAT
1003 DATA CLEUER
1004 DATA INTELLIGENT
1005 DATA NICE
1006 DATA NISE
1007 DATA BEAUTIFUL
1008 DATA CHARMING
1009 DATA SMART
2000 DATA PERSON
2001 DATA CHARHER
2002 DATA GENIUS
2003 DATA INDIUIDUAL
2004 DATA OPERATOR
2005 DATA HERO
2006 DATA ACE
81
GIOCHIAMO CON ATARI
SPACE DOCKER
(joystick)
Questo è uno dei migliori programmi contenuti in questo li¬
bro. È progettato per quattro giocatori e dispone di routine
in linguaggio macchina per i movimenti. Il BASIC non può
essere usato per le azioni rapide poiché è troppo lento.
Combattendo contro invasori stranieri in una galassia lon¬
tana, la vostra nave viene improvvisamente colpita in pie¬
no. Entrate nella piccola navetta di salvataggio con il vostro
equipaggio, vi staccate dalla nave e correte verso la nave
appoggio dove la salvezza è sicura. Ma c’è un problema:
state esaurendo rapidamente la scorta di ossigeno e ve ne
restano soltanto 300 unità.
Il vostro obiettivo, usando il joystick nel “Port 1”, è di at¬
traccare alla nave appoggio prima che la scorta si esauri¬
sca completamente. Per avanzare usate il pulsante del joy¬
stick, muovendone la barra a destra o a sinistra per guidare
la navetta verso la nave appoggio. Quando riuscite ad at¬
traccare alla nave appoggio, il numero delle unità di aria
avanzate verrà aggiunto ai vostri punti. Chi è interessato al¬
la routine del linguaggio macchina che ho impiegato può
trovare il listato in assembly dopo il listato del BASIC.
82
SPACE DOCKER
1 0 RETI t
20 REPI t SPACE DOCKER BV P.BUNH & t
30 REP1 * JONATHAN UINCENT t
40 REPI
50 GOSUB 10000: REPI tt INITIALIZATION tt
6>0 GOSUB 20000
65 SOUND 0,0,3,15:POKE 53273,R:AIR=380
70 X=IJSRC 1536)
80 IF PEEK< 7S1+R&256 >=24 THEN 1000
90 IF PEEKC 53254)00 OR PEEKC53262X>0 T
HEN GOTO 2000
L00 AIR=AIR-1 : IF AIRO0 THEN 70
110 POSITION 4,6:? "out of air":SC=0
1.15 POKE 53251,0
120 FOR F-0 TO 4000 STEP 12
130 SOUND 0,P,10,15:NEXT P
140 SOUND 0,0,0,0
150 POSITION 4,6:? "Press START"
155 POSITION 4,4:? "score:»iSC
160 POKE 53279,0
17@ IF PEEKC53279X>6 THEN 168
1.30 POSITION 4,6:? " ":GOSUB 1
0100:GOTO 65
1.000 IF PEEKX 209>>PEEK< 283> AND PEEKC209
XPEEKC204> THEN 1020
1010 GOTO 2080
1028 POSITION 4,6:? "docked"
1025 POKE 53251,0
1.030 FOR P=230 TO 10 STEP -10
1040 FOR X=P-5 TO P+5
1050 SOUND 0,X,10,15
1060 NEXT X
1.070 SETCOLOR 1 ,RND< 0 >#16,10
1080 NEXT P
1090 SOUND 0,0,0,0
1100 POSITION 21,4:? "remai ning air:";AI
R
1110 SC=SC+AIR: GOTO 150
2008 FOR P=781 TO 896:IF PEEKC R&256+PX >
24 THEN NEXT P
2005 POKE 53251,0
83
1
c
GIOCHI A M( ) CON AIARI p.
t]
T
2010 E=53770:P0KE P+256*R+RND< 0>*8,PEEK<
E)
2020 SOUND 0,PEEK<E > , 8,15 :POKE 706,PEEK<
E)
2030 S=S+i:lF S<50 THEN 2010
2035 POKE 53250,0: POKE 53251,0
2040 S=0:SC=S:eOTO 140
10000 GRAPH1CS 0:DL=PEEK<560 >+25e*PEEK< 5
61 )+4:POKE 32,0
10010 POKE DL+5,7:P0KE DL+6,6:P0KE DL+7,
6:POKE DL+8,6: POKE DL+9,6
10020.SETCOLOR 4,9,4:SETCOLOR 1,3,4:POKE
DL+10,6
10030 SETCOLOR 0,3,8:SETCOLOR 1,13,10
10040 POSI TION 0,4:POKE 752,1
10050 ? " SPACE DOCKER “;
10055 ? " ************ "i
10060 ? " you are losing air
10070 ? " and MUST dock with
10080 ? " thè pas-sing mother " ;
10090 ? " ship_GOOD LLICK!
10100 R=PEEK<106)-8:RESTORE
10110 FOR P=R*256+512 TO R*256+1024
10120 POKE P,0:NEXT P
10130 FOR P=10 TO 17
10140 READ A,B
10150 POKE R*256+512+F', A
10160 POKE R*256+640+P,B
10170 NEXT P
10180 DATA 7,224,62,124,111,246
10190 DATA 255,255,214,107
10200 DATA 124,62,60,60,4,32
10210 FOR P=0 TO 7
10220 READ A
10230 POKE R*256+768+80+P,A
10240 NEXT P
10250 DATA 24,60,36,60,36,126,90,255
10260 FOR P=0 TO 6
10270 READ A
10230 POKE R*256+896+88+P,A
10290 NEXT P
84
r
I i
IL
4
---
---
---
---
---
il, SPACE ROCKER r \
_
--
---
---
---
P
L9300 ? CHR$<125):COLOR 160:PLOT 0,20:DR
AUTO 39,20:? CHR$<160>:POSITION 0,0
L0310 POKE 704,8*16
10320 POKE 705,8*16
L0330 POKE 706,15*16+10
10340 POKE 707,3*16+4
10350 POKE 53277,3
10360 POKE 559,46
L0370 POKE 53248,110
10380 POKE 53249,126
L0390 POKE 53250,108
10400 POKE 53256,1
10410 POKE 53257,1
10420 POKE 53258,1
10430 POKE 53259,1
10440 POKE 623,1
10450 POKE 54279,R
10460 DATA 24,60,126,255,255,0,0
10470 POKE 203,110:POKE 204,126
10480 POKE 208,1NTt RND<1>*2 )+1:POKE 209,
108
10485 K=R*256+768: POKE 206, IMT<K/'256>:P0
KE 205,K-< 256*PEEKC206 > >
10490 RETURN
20000 FOR A=1536 TO 1676:REAO B:POKE A,B
:NEKT A
20001 DATA 104,165,208,201,1,240,17,230,
203,230,204,165,204,201,200,208,21,169,1
,133,208,76,38,6,198
20002 DATA 203,198,204,165,203,201,50,20
8,4,169,2,133,208,165,203,141,0,208,165,
204,141,1,208,173,120
20003 DATA 2,201,11,240,10,173,120,2,201
,7,240,8,76,72,6,198,209,76,72,6,230,209
,165,209,141
20004 DATA 2,208,173,132,2,201,0,240,11,
169,0,141,3,208,141,0,210,76,127,6,173,1
0,210,141,195
20005 DATA 2,165,209,141,3,208,169,130,1
41,0,210,160,0,177,205,136,145,205,200,2
00,192,0,208,245,76
20006 DATA 140,6,160,0,177,205,200,145,2
05,136,136,192,0,208,245,96
85
---
:;j GIOCHIAMO CON atari Jz :
---
---
---
---
LL
20007 RETURN
10 $=$600
20 ÌHSSEP1BLV ROUTINE USED IN
30 i SPACE DOCKER MRITTEN BV PAUL BUNN
40 HORt=$CB
50 H0R2=$CC
60 LF=$D0
70 H0R3=$01
80 PLA
30 LDA LF
0100 CP1P #1
0110 BEG! RIGHT
0120 LEFT INC HOR1
0130 INC H0R2
6140 LDA H0R2
0150 CHP #200
0160 BNE NI
0170 LDA #1
6130 STA LF
0190 JT1P NI
0200 RIGHT DEC HOR1
0210 DEC H0R2
0220 LDA HOR1
0230 CUP #50
0240 BNE NI
0250 LDA #2
0260 STA LF
0270 NI LDA HOR1
0280 STA 53248
0290 LDA H0R2
6300 STA 53249
0310 STICK LDA $278
0320 cnp #11
0330 BEO L
0340 LDA $273
0350 CP1P #7
0360 BEO R
0370 JnP N2
8330 L DEC H0R3
0390 JHP N2
0400 R INC HORS
86
d
---
---
---
---
---
ìf SPACE DOCKER
---
---
---
---
---
h
L
r
0410
H2 LDfi H0R3
0420
STO
53250
0430
LDfi
$284
0440
CP1P
#0
0450
BEQ
ON
0460
LDfi
#0
0470
STA
53251
0480
STfi
$0200
0490
•JHP
N4
0500
ON LDfi 53770
0510
STfi
707
0520
LDfi
H0R3
0530
STfi
53251
0540
LDfi
#130
0550
STfi
$D200
0560
LDV
#0
0570
AGI LDfi <$CD
0580
DEV
0590
STfi
< $CD)»V
0600
INV
0610
INV
0620
CPV
#0
0630
BNE
AGI
0640
JHP
N5
0650
N4 LDV #0
0660
AG2 LDfi < $CD
0670
INV
0680
STfi
< $CD ) >V
0690
DEV
0700
DEV
0710
CPV
#0 ^
0720
BNE
AG2
0730
N5 RTS H
• o
87
T
TT
TT
TT
TT
[ |
n
n
IT
i_
■
■1
■■1
IBI
■■■
IBI
1 1 , GIOCHIAMO CON ATARI -
IBI
IBI
IBI
±3
re
rr
rr
IT
i r
IBI
IBI
IBI
j
SKIRUN
(joystick)
Note per introdurre il programma:
1. Battete esattamente quello che riporta il listato
2. Registrate il programma su un nastro o un disco pri¬
ma di eseguirlo.
3. Il programma è designato per un Atari 400/800 do¬
tato di almeno 16K di memoria, con o senza il DOS
caricato in macchina.
4. Se avete un computer da 16K, quando eseguirete
il programma sullo schermo compariranno strani colo¬
ri: la cosa è normale e avrà termine dopo poco tempo.
5. Quando state per giocare a Ski Run, spegnete e
riaccendete il computer, caricate il programma e
quindi eseguitelo. Dopo il comando di inizio il pro¬
gramma richiederà alcuni secondi per essere esegui¬
to. Per cominciare a giocare premete START.
Se seguite le regole appena menzionate, vi ritroverete con
un ottimo gioco scritto interamente in codice macchina,
qualità caratteristica di un software molto costoso.
Per spostare il vostro sciatore a destra o a sinistra usate il
joystick, inserito nel Port 1. Per guadagnare punti dovete
farlo sciare lungo le bandierine blu, evitando accuratamen¬
te gli alberi. Se siete tanto bravi da terminare un percorso
potrete impegnarvi nel livello successivo: vi sposterete,
cioè, su una montagna più alta con discese più ripide ed il
vostro sciatore si muoverà più rapidamente. Il gioco ha ter¬
mine quando il vostro sciatore va a sbattere contro un albe¬
ro. Premete START per sollevarlo da questa frustrante si¬
tuazione.
88
d
---
---
---
---
:Ì SKI RUN
---
---
---
---
---
h
L
_
_
ir
1.0 REI’I tt SKI RUN ev PAUL dunning tt
28 REfi
38 REf’l i'iak e sur e- you SAUE th i s program
48 RE fi before you att-empt- to RUN it !
45 REf'ì
58 60SUB 1088
60 GOSIJB 2008
70 GOSUB 3008
88 GOSUB 4008
98 X=USR<1663)
L800 FOR 0=1536 TO 1646:RE00 BsPOKE A,B:
NEXT 0
L001 DOTO 112,112,112,70,0,80/7,0,6,6,11
8,217,35,54,54,54,54,54,54,54,54,54,54,5
4,54
1002 DOTO 54,54,54,54,54,54,54,54,65,0,6
,0,24,24,24,24,60,60,60,68,60,68,126,126
, 126
1003 DOTO 126,126,126,255,255,255,255,25
5,255,255,25*5*, 12E>, 126,24 , L4 , <^4,24,24,0,2
55,255,255,255,255,255
1804 _ORIA 255,255,192,192,192,192,192,19
8,192,192 , p , p , 3,3 , p , p> , 3 , p , 0,0,0,0,0,0,0
1005 DflTR 0,7,31,127,31,7,1,1,1,0,0
1806 RETURN
2800 FOR 0=13568 TO 14636:READ 6:R0KE 0,
B:NEXT fl
2001 ORTO 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 ,0,0,0,0,0,0,0,0,0
2002 ORTO 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 ,0,0,0,0,0,0,0,0,0
8003 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 ,0,0,0,0,0,0,0,0,0
2004 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 ,0,0,0,0,0,0,0,0,0
2005 DATA 0,0,0,101,110,100,0,111,102,0,
114,111,117,110,100,0,0,0,0,0,0,0,0,0,0
2006 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 ,0,0,0,0,0,0,0,0,0
2007 DATA 0,0,110,101,120,116,0,114,111,
117,110,100,0,0,0,0,0,0,0,0,0,0,0,0,0
2008 DATA 0,99,111,109,105,110,103,0,0,1
17,112,0,0,0,0,0,0,0,8,0,0,0,0,0,0
89
[ f
IL
c
giochiamo con a i Ari p
X]
:r
2009 DOTO 0,0,0,0,0,3,0,0,0,0,3,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2010 DATA 0,0,0,0,0,0,0,0,0,0,3,0,0,3,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2011 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2912 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2013 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 ,0,0,0,0,0,0,0,0,0
2014 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2015 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2016 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2017 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2013 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2019 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2020 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2021 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,
0 ,8,0,0,0,0,0,0,0,0
2022 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2023 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2024 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2025 DATA 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2026 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2027 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2023 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2023 DATA 0,0,3,0,3,0,0,0,0,0,0,0,0,0,0,
0 ,0,0,0,0,0,0,0,0,0
2030 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
90
r
1 1
3
---
---
---
_j SKI RUN |—
---
---
---
---
P
2831 CIATO 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2032 DATA 0,51,43,41,0,50,53,46,0.0,0,0,
0,0,0,0,0,0,0,51,35,4?,50,3?,0
2033 DATA 16,16,16,16,16,0,0,0,0,0,0,0,0
, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2034 DATA 0,0,0,0,63,63,63,63,63,63,63,6
3,63,63,63,63,63,63,63,63,63,63,63,63,63
2635 DATA 63,63,63,0,0,0,0,0,0,8,0,0,0,0
, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
20ii6 DATA 0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2037 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0
2038 DATA 0,6,8,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2039 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2040 DATA 6,0,0,0,0,0,8,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2041 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,36
2042 DATA 36,36,36,36,36,36,36,36,36,36,
36,36,36,36,36,0,0,0,0,0,0,0,0,0,0
2843 DATA 0,8,0,0,0,0,0,0,0,0,129,129,12
9,90,90,90,60,60,68
2044 RETURN
3080 FOR A=14848 TO 15475:READ B:POKE A,
BSNEXT A
3001 DATA 169,175,141,1,210,169,0,141,11
,6,169,32,141,12,6,169,14,141,200,2,169,
200,141,196,2
3002 DATA 169,32,133,213,169,120,141,197
,2,162,6,169,0,157,0,29,202,208,248,160,
0,185,0,224,153
3803 DATA 0,56,185,0,225,153,0,57,185,0,
226,153,0,58,185,0,22 f ,15^,0,59,13b,208,
229,169,32
3004 DATA 133,208,162,16,160,0,169,0,145
,207,136,288,249,230,208,202,208,242,169
,56,141,244,2,160,88
3005 DATA 185,37,6,153,8,56,136,208,247,
169,0,141,48,2,169,6,141,49,2,166,213,17
3,10,210,133
91
d:
- J r:mri4TAK/fr» r'nxT atadt l
—
h
3006 DfiTfi 205,173,10,210,41,14,3,32,133,
206,169,1,160,0,145,205,160,24,163,2,145
,205,160,48,169
3007 DATA 3,145,205,160,72,169,4,145,205
,202,208,215,162,32,173,10,210,133,205,1
73.10.210.41.14.9
3008 DOTA 32,133,206,160,0,177,205,201,0
,208,234,169,73,145,205,202,208,227,162,
8,169,0,157,0,32
3003 Dttrfi 202,208,248,32,131,3,32,17,10,
160,0,140,5,212,32,32,9,152,72,104,168,1
73,120,2,201
3010 DATA 7,240,26,201,11,240,3,76,14,9,
165,212,201,56,240,23,138,212,165,212,14
L,0,208,141,1
3011 DfiTfi 208,76,14,9,165,212,201,132,24
0,10,230,212,165,212,141,0,208,141,1,208
,173,4,208,201,0
3012 DfiTfi 240,3,32,235,3,200,192,8,208,1
82,76,52,9,152,72,160,24,162,0,202,208,2
53,163,0,141
3013 DfiTfi 0,210,136,208,243,104,168,36,1
7 ^,11,6,24,105,24, 141,11,6 ,1 r' J , 12 , ۥ, 105 ,
0,141,12,6
3014 DfiTfi 173,12,6,201,45,240,3,76,209,8
,169,0,169,0,141,11,6,169,27,141,12,6,17
3.35.9
3015 DfiTfi 201,7,240,3,206,35,3,162,0,138
,72,32,32,9,104,170,202,208,246,141,11,6
,163,32,141
3016 DfiTfi Ì2,6,165,213,24,105,10,133,213
,76,44,8,163,58,141,132,2,169,0,141,133,
2,169,128,141
3017 DfiTfi 0,208,133,212,169,128,141,1,20
8,169,0,141,2,208,141,3,208,141,4,208,14
1,5,208,141,6
3018 DOTA 208,141,7,208,163,3,141,23,208
,169,48,141, < ,212,169,62,141,4 (* 2,162,0,
169,0,157,0
3013 DfiTfi 52,157,0,53,202,208,245,162,17
,183,0,31,157,128,53,202,208,247,162,17,
189,32,31,157,128
3020 DfiTfi 52,202,208,247,162,36,189,0,30
,157,255,53,202,208,247,96,173,4,208,201
,2,240,16,173,31
92
4
---
---
---
---
SK1 RUN t'-
.....
---
---
....
---
il
i
r
3021 DATA 208,201,6,208,249,169,255,141,
30,288,76,0,8,72,32,17,10,169,1,141,30,2
08,173,18,210
3022 DATA 141,0,210,96,32,101,10,238,4,2
9,173,4,29,201,10,240,1,96,169,0,141,4,2
q 9 238 » 3
3023 DATA 29,173,3,29,201,10,240,1,96,16
9,0,141,3,29,238,2,29,173,2,29,201,10,24
0,1,96
3024 DATA 169,0,141,2,29,238,1,29,173,1,
29,201,10,240,1,96,169,0,141,1,29,238,0,
29,173
3025 DATA 0,29,201,10,240,1,96,169,0,141
,0,29,0,162,5,189,255,28,24,105, lb,15t'
0,60,202
3026 DATA 208,244,96
3027 RETURN
4000 POR A=1663 TO 1738:READ B:POKE A,B:
NEX'f A
4001 DATA 104,169,0,133,203,169,53,133,2
04,160,0,132,205,169,27‘, 133,206,177,203,
145,205,200,208,249,230,204
4002 DATA 230,206,165,206,201,32,208,239
,169,0,133,203,133,205,169,58,133,204,16
9,8,133,206,177,203,145
4003 DATA 205,200,208,249,230,204,230,20
6,165,204,201,61,208,239,169,0,133,12,16
9,8,133,13,76,0,8
4005 RETURN
93
r
| 1
L
n
:/
PROGRAMMI MIGLIORI
+]
il
:□___C.
ir
Come scrivere
programmi
migliori
di Tim Hartnell
Questo libro contiene molti, ottimi programmi, come del re¬
sto la maggior parte delle riviste specializzate in computer.
D'altra parte, per quanto siano buoni i programmi proposti
dalle pubblicazioni, è certo che far “girare” un programma
parzialmente e completamente scritto da te ti offre un pia¬
cere maggiore. Variando i programmi, dai il tuo tocco per¬
sonale, rifletti i tuoi desideri, la tua creatività. Questo è un
modo eccellente per migliorare i programmi e alla fine, na¬
turalmente, diverrai un programmatore migliore e la tua im¬
maginazione sarà potenziata.
I programmi, presentati dai periodici o da libri come que¬
sto, sono un ideale trampolino di lancio per i tuoi progressi
in questo settore. Scoprirai che perfino la pubblicità sul
software può ispirarti delle idee. Devi solo leggere la de¬
scrizione dei programmi commercialmente disponibili e fa¬
rai il primo passo verso la creazione del "tuo” programma.
Naturalmente, non ti è consentito di violare la legge sul di¬
ritto d’autore per quanto riguarda i dati e le informazioni il¬
lustrati sul video, il nome del programma, o i nomi dei "ca¬
ratteri” aH’interno del programma. Probabilmente scoprirai
che il programma, a mano a mano che si sviluppa, prende¬
rà vita propria, crescerà e si evolverà staccandosi dallo
schema originale finché il tuo gioco risulterà concepito e
realizzato in un modo completamente nuovo.
95
r
I f
[+
ih
L
_n :
T
Qualsiasi cosa tu faccia, non far passare mai come tuo il
lavoro di un altro. Adatta e migliora i programmi pubblicati
con ogni mezzo, ma poi non presentarli ai periodici come
se fossero originali. Ho perduto il conto delle volte in cui mi
è stata proposta la pubblicazione di un programma che era
stato tratto da uno dei miei libri. Ricordati che i libri e i pe¬
riodici specializzati in giochi e computer sono tutti ottimi
spunti per le tue idee. Troverai sulla tua strada sempre nuo¬
ve idee per giochi, forme di caratteri, suoni, conclusioni a
sfondo drammatico, e così via. È opportuno che tu ne pren¬
da nota. In questo modo non ti troverai mai a corto di idee e
sarai in grado di unire il materiale per produrre programmi
migliori e capaci di tener desta l’attenzione del giocatore
più a lungo.
I giochi si dividono in tre categorie. È utile quindi che tu in¬
dividui la categoria alla quale appartiene il programma che
proponi prima di iniziarlo, dato che la categoria del gioco
altera materialmente il modo di dare inizio alia programma¬
zione. Ciò non significa che a mano a mano che lo sviluppi,
il programma non possa passare da una categoria all’altra,
né che un particolare gioco non possa svilupparsi tra due
categorie, ma è tuttavia utile considerare i vari gruppi sepa¬
rati per avere idee chiare. Le tre categorie sono:
1) Board games (scacchi, dama, e simili)
2) Arcade games (giochi di movimento veloce, di fanta¬
sia, pieni di rumori, in tempo reale)
3) Giochi di fortuna (come Roulette e Snap)
Nei “Board games” la qualità del gioco è più importante
della velocità della risposta. Negli “Arcade games” il movi¬
mento deve essere mantenuto ad ogni costo, anche se ta¬
lune “intelligenze” tra i tuoi invasori Marziani devono esse¬
re, a tale scopo, sacrificate. I giochi di fortuna si basano
sulla facilità di gioco e sulla casualità vera e propria in mo¬
do maggiore rispetto alle altre due categorie.
Scoprirai che i programmi dei giochi si dividono in generi, i
quali a loro volta sono suddivisioni delle tre categorie di cui
sopra. Molti "board” games sono varianti della dama o de¬
gli scacchi, molti “arcade” games erano originariamente
giochi del tipo “Invasori dello spazio” mentre i giochi di
j fortuna sono nati nel “mondo reale” dei dati e delle carte.
Prestare attenzione alla descrizione di un programma o a
una macchina da gioco, per provare ad indovinare la cate¬
goria a cui appartiene il gioco che stai osservando, può aiu-
96
---
---
---
---
---
II] PROGRAMMI MIGLIORI ^
---
---
---
---
---
h
I
T
tarti e ispirarti nuove idee che si adattino a quel particolare
genere di giochi. Esiste un concetto nell’ambito della pro¬
grammazione — chiamato generalmente “programmazio¬
ne strutturata” — secondo il quale la disciplina è essenzia¬
le all’inizio del processo di scrittura dei programmi. Pur es¬
sendo meno interessante del fatto di sedersi subito davanti
al computer, alla fine il programma prodotto sarà migliore.
Una volta scrissi un programma chiamato Dome Dweller
(Abitante di cupole) un programma a simulazione nel quale
il giocatore ha il controllo di una “cupola lunare” e deve
decidere quali prodotti produrre e vendere al fine di com¬
prare ossigeno e cibo per gli abitanti del posto (vedi The
hook of Listings, scritto da Jeremy Ruston e edito dalla
BBC). Dopo aver deciso lo schema generale da adottare,
eleborai i dati e le informazioni da scrivere sul video, nel
modo seguente:
Le scorte di ossigeno sono scarse
All’interno della tua cupola vivono 96 persone nell’an¬
no 3
Il credito in denaro è di $ 5.693
Le spese di manutenzione annuali ammontano a $ 226
Le cisterne di ossigeno sono di 811 unità
L’ossigeno costa $ 8 per unità
Ogni abitante di cupola necessita di 5 unità all’anno
Le riserve di cibo ammontano a 2122
Ogni abitante necessita di 3 unità all’anno ($ 6 ognuno,
$ 576 per la cupola. Ciò basterà per 7 anni alla popola¬
zione attuale)
Tu puoi commerciare le tue straordinarie sculture lu¬
nari con la gente che vive nelle altre cupole. Consumi 2
unità di ossigeno per la costruzione di un’unica scultu¬
ra, e le vendi a $ 30.
Come hai probabilmente indovinato da questo “printout”
l’idea del programma è quella di decidere quante “straordi¬
narie sculture lunari” devi costruire e vendere al fine di
comprare ossigeno e cibo e pagare il "mantenimento an¬
nuale”. Il problema in questo particolare programma è che
per costruire ogni scultura si consuma ossigeno cosicché il
giocatore si trova combattuto fra il desiderio di guadagnare
e la necessità di usare l’ossigeno intelligentemente.
Puoi provare a scrivere un programma come questo da so¬
lo. In tal caso potresti riuscire a scrivere un programma di¬
vertente e ciò svilupperebbe notevolmente la tua capacità
97
1
C±
PROGRAMMI MIGLIORI
+]
L
I3_ .. _ r_
T
di programmazione. La prima cosa da fare è un elenco di
ciò che il programma deve compiere:
Stabilire le variabili necessarie
Comunicare al giocatore in quali condizioni si trova la
cupola
Chiedere quanto ossigeno bisogna comprare
Controllare se si ha il denaro sufficiente. In caso positi¬
vo comprarlo, altrimenti ritornare e chiedere di nuovo
Chiedere quanto cibo deve essere comprato
Controllare se il denaro è sufficiente. In caso positivo
comprarlo, altrimenti ritornare e chiedere di nuovo
Rinnovare la quantità di ossigeno
Rinnovare la quantità di cibo
Ridurre il totale del denaro lasciato
Domandare quante sculture devono essere costruite
Controllare se c’è l’ossigeno sufficiente per la costru¬
zione di quel numero di statue. In caso negativo ritor¬
nare indietro e chiedere di nuovo
Ridurre la quantità di ossigeno per l'ammontare neces¬
sario alla costruzione del numero di sculture specifica¬
to. Incrementare il totale del denaro per considerare il
prezzo delle sculture costruite
Incrementare leggermente l’intera popolazione, ag¬
giungere uno air'anno attuale”
Controllare se le riserve di cibo sono sufficienti per ali¬
mentare l’intera popolazione
Verificare se l'ossigeno è sufficiente per l’intera popo¬
lazione
Verificare se c’è un po’ di denaro
Se qualcuna fra queste condizioni è negativa (per
esempio, il cibo non è sufficiente) trasmettere l’azione
ad un sottoprogramma “fine-gioco”
Se tutte le condizioni sono positive, ripetere di nuovo le
istruzioni per comunicare al giocatore le condizioni in
cui si trova la cupola, e continuare a ripetere le istru¬
zioni.
Probabilmente saresti capace di scrivere un programma
“Dome Dweller” usando le voci qui sopra elencate e l’in¬
formazione campione "printout”. C’è comunque un segre¬
to che vorrei svelarti e che risolve quasi istantaneamente i
problemi legati alla programmazione. In realtà, sei in grado
98
PROGRAMMI MIGLIORI
di scrivere tutte le parti vitali di un programma come que¬
sto quando ne hai eleborato soltanto un rozzo schema ge¬
nerale, prima quindi di passare ai dettagli. E una volta che
hai la struttura, puoi elaborarla per tutto il tempo che vuoi,
sapendo che, mentre fai ciò, il programma che stai svilup¬
pando è in ogni momento operante. Non devi aspettare la
fine per metterlo in funzione e vedere come tu stesso ti
comporti. Il “segreto” è di mantenere l’intero programma
aH'interno di una serie di sottoprogrammi a disposizione,
ognuno dei quali mantenuto in un circuito di istruzioni conti¬
nuo. Ecco come ciò che ho riferito può adattarsi a questo
programma. Le primissime righe che inserirai nel tuo com¬
puter saranno le seguenti:
10 REM DOME DWELLER
20 GOSUB 1000: REM ASSEGNAZIONE DELLE VA¬
RIABILI
30 GOSUB 2000: REM VISUALIZZAZIONE DELLA SI¬
TUAZIONE DELLA CUPOLA
40 GOSUB 3000: REM OSSIGENO
50 GOSUB 4000: REM CIBO
60 GOSUB 5000: REM SCULTURA
70 GOSUB 6000: REM AUMENTO DELLA POPOLA¬
ZIONE
80 GOSUB 7000: REM CONTROLLO DELLA SITUA¬
ZIONE DELLA CUPOLA
90 IF (tutte le condizioni sono positive, da GOSUB
7000) THEN GOTO 30
100 REM Fine del gioco...
Come tu stesso puoi vedere, una volta che hai stabilito il
“loop principale delle istruzioni”, è relativamente facile
compilare uno ad uno i sottoprogrammi, e allo stesso tem¬
po sperimentarli ed elaborarli. In questo modo otterrai un
ottimo programma. La sola cosa che adesso ti serve è un
elenco delle variabili che userai insieme al programma. So¬
no dell’opinione che il modo migliore per far ciò sia quello
di utilizzare nomi espliciti per le variabili. In questo modo,
mentre stai programmando, non devi perder tempo nel ve¬
rificare, per esempio, se AA indica la popolazione o il nu¬
mero delle unità di ossigeno consumate per costruire ognu¬
na delle sculture. Per facilitare il più possibile i programmi,
nella trasmissione di questi fra differenti computer, puoi re-
99
r
| |
.
1,
et
_ PROGRAMMI MIGLIORI _
ih
L
□_
ir
star fedele ai nomi variabili a due lettere, o puoi usufruire
(se il tuo computer lo permette) di nomi lunghi (come
OXYUSE per la quantità di ossigeno usata) per le variabili.
Di conseguenza non avrai dubbi sul significato di ogni no¬
me di variabile. Per dimostrarti l’efficacia di questo accor¬
gimento e per illustrarti un ulteriore vantaggio dei nomi
espliciti per le variabili, ecco le variabili usate nel Dome
Dweller:
FOLK — la popolazione della cupola
CASH — denaro in cassa
FOOD — le riserve di cibo a disposizione
FOODCOST — quanto costa ogni unità di cibo
FOODNEED — quante unità di cibo sono consumate
da ogni persona nell’arco di un anno
ARTCOST — quanto ossigeno è consumato per co¬
struire ogni pezzo di scultura
ARTPAY — a quanti dollari ogni pezzo è venduto
OXY — le riserve di ossigeno a disposizione
OXYNEED — quante unità di ossigeno sono consuma¬
te da ogni persona nell’arco di un anno
OXYCOST — quanto costa ogni unità di ossigeno che
deve essere comprata
REPAIR — il costo annuale delle riparazioni concer¬
nenti la cupola
YEAR — l’anno di vita della cupola
Sebbene i nomi espliciti di variabile consumino maggiore
memoria rispetto ai nomi di variabile a una o a due lettere,
il loro uso permette di seguire un programma in modo mol¬
to facile, controllando ciò che compie in realtà ogni sezione
del programma. Inoltre, e questo è l’ulteriore vantaggio che
ho menzionato, a! momento di scrivere il programma, è ol¬
tremodo facile inserire le formule richieste per operazioni
di calcolo. Con questo voglio dire che se, per esempio, de¬
sideri includere (come faccio io in questo programma)
un’indicazione di quanto ossigeno è necessario ogni anno,
moltiplichi semplicemente il numero delle persone presenti
nella cupola (FOLK) per il numero di unità di ossigeno di cui
ogni persona necessita in un anno (OXYNEED). A questo
punto puoi includere entro le “print” le condizioni riguar¬
danti la cupola come, ad esempio:
100
r
.
f 1
1
[T
_ PROGRAMMI MIGLIORI __
ih
t:
_:l____ — —__C.
j
PRINT “CI SONO”; FOLK; “NELLA CUPOLA”
PRINT "NELL’ANNO”; YEAR
PRINT "OGNI PERSONA ABBISOGNA DI”; OXY-
NEED; “UNITÀ DI”
PRINT "OSSIGENO OGNI ANNO,”; OXYNEED * FOLK;
“FABBISOGNO ANNUALE DI OSSIGENO"
PRINT "PER L’INTERA CUPOLA”
In questo modo è anche più facile verificare se è possibile
comprare. Per esempio, per comprare cibo, potresti dire:
PRINT "QUANTO CIBO VUOI COMPRARE?”
INPUT A
IF A * FOODCOST>CASH THEN GOTO (un’altra A)
I consigli che seguono possono migliorare i tuoi programmi
facendo uso di una “programmazione strutturata”:
— redigere un campione di "printout” o un modello di¬
mostrativo dei dati e delle informazioni illustrati sul vi¬
deo
— redigere una lista di ciò che il programma deve
compiere ogni volta che attraversa il "loop principale
di istruzioni”
— trasformare questa lista in una serie di sottopro¬
grammi a disposizione
— se possibile, usare espliciti nomi per le variabili
Se stai progettando dei programmi che poi saranno usati
da altri, assicurati che sia estremamente chiaro ciò che il
giocatore dovrebbe fare mentre conduce il programma. In¬
cludere una lunga serie di istruzioni non è di molta utilità,
specialmente quando la memoria è limitata, ma è in ogni
caso opportuno prenderne nota. Inoltre, i suggerimenti de¬
stinati all'utente dovrebbero essere espliciti (come INSERI¬
SCI IL NUMERO DELLE MOSSE CHE VUOI EFFETTUARE)
e dovrebbero avvertire riguardo i limiti che saranno posti
sull’input (CON QUANTE CARTE VUOI INCOMINCIARE: 1,
2, o 3 ?, per esempio).
Non puoi supporre che sarai sempre presente ogniqualvol¬
ta un programma è in funzione, quindi, dovresti fare del tuo
meglio per renderne il funzionamento il più possibile facile
e sicuro. Se è possibile, aggiungi dei sottoprogrammi che
eliminino gli errori.
101
4
I |
1
et
_ PROGRAMMI MIGLIORI _
ih
X
:n_____C.
t
In tal modo se si è precedentemente inserito un sottopro¬
gramma alternativo e c’è stato un errore, questo non rovi¬
nerà il programma e non lo renderà incapace di dare buoni
risultati in seguito.
Se leggi questa parte del libro da cima a fondo più di una
volta e tenterai di applicare le idee qui proposte al tuo lavo¬
ro di programmazione, la qualità del tuo lavoro migliorerà
in modo significativo. Ciò ti permetterà anche di dedicare
più tempo al miglioramento e al perfezionamento di un pro¬
gramma e minor tempo al semplice lavoro meccanico di
renderlo operativo.
102
r
I _ |
CI
+]
L
3 ___n
ir
GLOSSARIO
A
Accumulatore — Il posto all'Interno del computer entro il
quale si compiono calcoli aritmetici e dove i risultati di tali
calcoli sono immagazzinati.
Algoritmo — La serie di passi compiuti dal computer per
risolvere un particolare problema.
Alfanumerico — Questo termine è generalmente usato in
relazione ad una tastiera. Esempio: “è una tastiera alfanu¬
merica”. Ciò significa che la tastiera ha sia lettere sia nu¬
meri. Indica anche "la serie di caratteri” del computer e
comprende i numeri e le lettere che il computer può ripro¬
durre sul video.
ALU (Arithmetic/Logic Unit) — La parte del computer
adibita ad operazioni aritmetiche (come l’addizione e la
sottrazione) e in cui vengono prese le decisioni.
AND — Un’operazione logica “booleana” che il computer
usa nei suoi processi decisionali. È basata sull’algebra di
"Boole”, un sistema sviluppato dal matematico George
Boole (1815-64). Nell’algebra di Boole le variabili di
un’espressione sono soggette alle operazioni logiche come
AND, OR, NOR, ecc.
ASCII — Sta per American Standard Code for Information
Exchange (Codice Americano Standard per lo Scambio di
Informazioni) ed è il sistema in codice più largamente usato
per la lingua inglese con caratteri alfanumerici. Ci sono
128 lettere maiuscole e minuscole, cifre e alcuni caratteri
speciali. Il codice ASCII trasforma i simboli e le istruzioni di
controllo in combinazioni binarie a sette “bit”.
ASSEMBLER — Un programma che trasforma i program¬
mi scritti nel linguaggio Assembly in codice macchina (che
il computer può comprendere in modo diretto), li linguaggio
Assembler è un linguaggio di programmazione a basso li¬
vello che usa le combinazioni facilmente memorizzabili di
due o tre lettere per rappresentare una particolare istruzio¬
ne che l’Assembler poi trasforma affinché il computer pos¬
sa comprenderlo. Esempio: ADD (aggiungere) e SUB (sot¬
trarre). Un computer programmatico nel linguaggio Assem-
103
■1
■■■
■■1
MI
HI
HI
HI
IBI
TT
IL
c
■1
III
■■1
IBI
HI
HI
HI
HI
■ ■1
ri
1
_L
III
■■1
_L_L
J_L
■■1
IBI
IBI
n
bler tende a lavorare più velocemente di un altro program¬
mato in un linguaggio di alto livello come il BASIC.
B
BASIC —È un acronimo per Beginners All-Purpose Symbo-
lic Instruction Code. È il linguaggio per computer più larga¬
mente usato nel settore dei micro-computer. Sebbene sia
stato molto criticato, ha il vantaggio di essere molto facile
da imparare. Molte espressioni BASIC sono simili all’ingle¬
se comune.
BAUD — Viene da Baudot, un pioniere della comunicazio¬
ne telegrafica. Baud misura il livello di trasmissione delle
informazioni ed è approssimativamente uguale a un bit per
secondo.
BCD — Un’abbreviazione per Binary Coded Decimai (Bi¬
nario Codificato Decimale).
Benchmark — Un test con cui possono essere misurate
certe funzioni del computer. Ci sono molti "test standard
Benchmark”, che generalmente sperimentano soltanto la
velocità. Questo è un aspetto raramente importante in un
microcomputer, il tipo di computer più interessante per un
potenziale compratore.
Binario — Un sistema numerico che usa soltanto i numeri
zero e uno.
Bit — Un’abbreviazione per Binary Digit (cifra binaria). È la
più piccola unità di informazione che un circuito di compu¬
ter può riconoscere.
Boole, Algebra di — Il sistema algebrico sviluppato dal
matematico George Boole che usa numerazioni algebriche
per esprimere relazioni logiche (vedi AND).
Bootstrap — Un breve programma o sottoprogramma che
viene letto all’interno del computer quando è acceso per la
prima volta. Orienta il computer ad accettare i programmi
successivi, di lunghezza maggiore.
Bug — Un errore che impedisce il funzionamento del pro¬
gramma. Sebbene sia generalmente usato per indicare so¬
lo un difetto o un errore nel programma, il termine bug può
anche essere usato per un difetto nell’hardware del com¬
puter.
104
d
---
---
---
---
---
d GLOSSARIO L t
---
■■1
IBI
IBI
■■1
IBI
IBI
IBI
«
h
:□_ _ n:
rr
IBI
IBI
IBI
r
Bus — Un numero di conduttori usati per trasmettere se¬
gnali, dati e istruzioni.
Byts — Un gruppo di cifre binarie che compone una parola
di computer. Generalmente i bits presenti in un byte sono
otto.
c
CAI — Computer Assisted Instruction
CAL — Computer Assisted Learning. Il termine è general¬
mente usato per descrivere quei programmi che coinvolgo¬
no lo studente in processi di apprendimento.
CHIP — Il termine che si usa per indicare l’intero circuito,
che è inciso su un piccolo pezzo di silicio. Il chip è, natural¬
mente, il cuore del computer.
CLOCK — Il congegno di sincronizzazione aH’interno del
computer che sincronizza le sue operazioni.
COBOL — Un linguaggio ad alto livello che deriva dalle pa¬
role Common Business Orientated Language. Il COBOL è
usato principalmente per la schedatura e il mantenimento
di ciò che è stato registrato.
Comparator — Un congegno che mette a confronto due
cose e produce un segnale collegato con la differenza tra i
due.
Compiler — Un programma che trasforma i linguaggi di
programmazione ad alto livello in codici binari da macchi¬
na. In questo modo i programmi scritti in linguaggi ad alto
livello possono essere utilizzati dal computer.
Complement — Un numero che è derivato da un altro se¬
condo regole stabilite.
Computer — Un congegno con tre principali capacità o
funzioni:
1) accettare i dati
2) risolvere i problemi
3) fornire risultati.
CPU — Sta per Central Processing Unit. È il cuore dell’in¬
telligenza del computer dove si gestiscono i dati e si svilup¬
pano le istruzioni.
Cursore — Un carattere che appare sul video quando il
computer sta compiendo le sue operazioni. Esso rivela do-
105
1 1
c
GLOSSARIO ')"
t]
L_
□_ _C.
ve il prossimo carattere sarà stampato. Su un computer ci
sono generalmente ‘‘tasti di controllo cursore” per permet¬
tere all’utente di spostare il cursore sul video.
D
Dati — Informazioni presentate in una forma che il compu¬
ter può elaborare.
Debug — Il termine che si usa quando si esamina un pro¬
gramma e si correggono eventuali errori, cioè, trovare e ri¬
muovere i bugs, i difetti.
Digital Computer — Un computer che opera su quelle in¬
formazioni che si presentano come digitali.
Disk/Disc — È un disco di plastica sensibilizzato magneti¬
camente, un poco più piccolo di un “45 giri”. È usato per
l'immagazzinamento dei programmi e per ottenere dati. I
dischi sono notevolmente più veloci da caricare rispetto ad
una cassetta della stessa lunghezza di programma. Si può
accedere molto velocemente su un disco mentre un pro¬
gramma sta operando per ottenere ulteriori dati.
Display — L’output visivo del computer, generalmente su
un video, o su uno schermo di monitor.
Dot Matrix Printer — Una stampante che stampa i listati
di un programma o di ciò che appare sul video. Ogni lettera
e ogni carattere sono composti da un certo numero di
“dots”, cioè di punti. Più alto è il numero di punti per ogni
carattere e migliore sarà la qualità operativa della stam¬
pante.
Dynamic Memory — Un’unità di memoria all’interno del
computer che “dimentica” ciò che contiene quando viene
tolta l’alimentazione elettrica.
E
Editor — Questo termine è generalmente usato per desi¬
gnare quella sezione del computer che permette al pro¬
grammatore di cambiare le istruzioni di un programma
mentre lo sta scrivendo.
106
---
---
---
---
GLOSSARIO
---
---
---
---
---
h
T
EPROM — Sta per Erasable Programmable Read-Only Me¬
mory. È come il ROM nel computer, con la sola differenza
che è abbastanza facile inserire materiale all'interno di una
EPROM che non sparisce quando si toglie l’alimentazione.
Le EPROM devono essere esposte a forti raggi ultravioletti
se si vuole cancellarle.
Error Messages (Messaggi di errore) — L’informazione
data da un computer che indica dove è stato commesso un
errore nella codificazione durante una parte del program¬
ma. L’informazione è trasmessa dal computer che si ferma
e stampa una parola, o una parola e dei numeri, o soltanto
una combinazione di numeri, in fondo al video. Questo rive¬
la quale errore è stato fatto. Gli errori più comuni includono
l’uso della lettera 0 invece dello zero in una linea, o l’omis¬
sione in una espressione di entrambe o di una delle paren¬
tesi, o l'errore nella definizione di una variabile.
F
File — Una serie di item d’informazione collegati fra loro e
organizzati in modo sistematico.
Floppy Disk — Un disco magnetico relativamente poco
costoso, usato per immagazzinare le informazioni dei com¬
puter, e così chiamato perché molto flessibile (vedi
Disk/Disc).
Flow Chart — Un diagramma tracciato prima di scriveré
un programma nel quale le principali operazioni sono rac¬
chiuse entro rettangoli o altre forme e connesse a frecce
attraverso linee per rappresentare "loop” di istruzioni, e le
decisioni scritte fra parentesi. Ciò ti aiuta a scrivere un pro¬
gramma in modo molto più semplice perché trappole come
loop infiniti ovariabili non definite possono essere scoperte
in ogni fase. Può risultare utile scrivere questo dia¬
gramma per programmi molto brevi, ma è senz'altro con¬
veniente se si vuole creare un programma più lungo.
Firmware — Ci sono tre tipi di "ware” nei computer: cioè
programmi software “temporanei”: hardware, come quelli
contenuti nelle ROM permanenti; e firmware, nel quale l’in¬
formazione è relativamente permanente, come in una
EPROM (vedi EPROM).
107
■■
HI
■■i
TT
TT
1
HI
IBI
IBI
■■
c
GL
■■■
ni
■■1
GLOSSARIO '
TT
II
TT
3J
±
n
n
U
_ __c_
±±
II
II
Flip-Flop — Un circuito che mantiene in memoria una
condizione elettrica finché questa non è cambiata nella
condizione opposta da un segnale.
FORTRAN — Sta per FORmula TRANslation (traduzione di
formula). È un linguaggio di computer ad alto livello, orien¬
tato verso problemi matematico-scientifici.
G
Gate — Un circuito elettrico che, sebbene possa captare
uno o più segnali in arrivo, manda in uscita soltanto un sin¬
golo segnale.
Graphics — Informazione grafica, in opposizione alle in¬
formazioni fornite da lettere e numeri.
H
Hard Copy — Uscita di computer il cui supporto è perma¬
nente.
Hardware — Le parti fisiche di un computer (vedi anche
software e firmware).
Hexadecimal (Hex) — Un sistema numerico con base se¬
dici, Sono usate le cifre da zero a nove e le lettere A, B, C,
D, E, F per la rappresentazione dei numeri. A è uguale a 10,
B è uguale a 11, C è uguale a 12, e così via. Hex è spesso
usato dagli utenti di microcomputer.
Hex Pad — Una tastiera specificamente progettata per in¬
serire numerazioni esadecimali.
High Levai Language (Linguaggio ad alto livello) — Un lin¬
guaggio di programmazione che permette all'utente di par¬
lare con il computer più o meno in lingua inglese. In gene¬
rale più è alto il livello del linguaggio (cioè, più è simile
all'inglese) più lungo sarà il tempo impiegato dal computer
per tradurlo in un linguaggio che esso può utilizzare. Lin¬
guaggi a più basso livello sono molto più difficili per l'opera¬
tore umano ma generalmente offrono una esecuzione più
veloce.
108
r
1 1
1
4
---
---
---
---
---
GLOSSARIO r -
---
---
---
---
---
¥
I
Input — L'informazione inserita nel computer attraverso
una tastiera, un microfono, una cassetta o un disco.
Input/Output (I/O Device) — Un congegno che accetta le
informazioni o le istruzioni dal mondo esterno, le trasmette
al computer e, dopo l’elaborazione, le rinvia, o sotto una
forma adattabile alla memorizzazione, o una forma com¬
prensibile all’essere umano.
Instruction — Il dato che comanda una sola azione
nell'elaborazione delle informazioni operate dal computer
(noto anche come comando).
Integrateci Circuit (Circuito integrato) — Un completo cir¬
cuito elettronico residente sulla superficie di un semicon¬
duttore.
Interface — Il confine fra il computer e un periferico co¬
me la stampante.
Interpretar — Un programma che traduce, istruzione per
istruzione, il linguaggio ad alto livello inserito da un opera¬
tore umano in un linguaggio che la macchina può capire.
Inverter (Invertitore) — Un "gate” logico che cambia
nell'opposto il segnale inserito.
Interactive Routine (Sottoprogramma Interattivo)— Parte
di un programma che è ripetuto più volte finché non si rag¬
giunge una data condizione.
J
Jump Instruction — Un’istruzione che dice al computer
di muoversi verso un’altra parte del programma, quando la
destinazione di questo spostamento dipende dal risultato di
un calcolo appena compiuto.
K
K — Questa lettera riporta la misura della memoria. La me¬
moria è generalmente misurata in blocchi di "K’’.Un K con¬
tiene 1.024 bytes.
109
II
■■1
IBI
1 ~ “ "" 'p
IBI
IBI
IBI
IBI
IBI
i
Ri
IBI
44 -
IBI
IBI
IBI
IBI
±1
L
XI
IX
:□_ _ c:
XX
XI
n
II
n
Keyword (parola-chiave) — La parola di inizio in una linea
di programmazione, generalmente la prima parola dopo il
numero della istruzione. Parole-chiavi sono STOP, PRINT e
GOTO.
L
Language — I linguaggi di computer sono divisi in tre
gruppi: i linguaggi ad alto livello, come il BASIC, che sono
relativamente vicini all’inglese ed abbastanza facili da usa¬
re per l’uomo; i linguaggi a basso livello, come l'ASSEM-
BLER, in cui compaiono brevi frasi che hanno qualche col-
legamento con l’inglese (ADD per add e RET per return, ad
esempio); e il codice macchina, che comunica più o meno
direttamente con la macchina.
LCD — Sta per Liquid Crystal Diode. Alcuni computer co¬
me il TRS-80 Pocket Computer usano un “display” LCD.
LED — Sta per Light Emitting Diode. I numeri luminosi ros¬
si che sono spesso usati negli orologi da polso o da muro
sono composti da LED.
Logic — La formula matematica di uno studio di relazioni
fra eventi.
Loop — Una serie di istruzioni all’interno di un programma
che sono ripetute finché una particolare condizione viene
soddisfatta.
M
Machine Language o Machine Code (Codice macchina)
— Un codice che può essere capito e messo in pratica di¬
rettamente dal computer.
Magnetic Disk — vedi Disk e Floppy Disk.
Mainframe — I computer sono generalmente divisi in tre
gruppi e il fatto di appartenere ad un certo gruppo dipende
dalla grandezza del computer. Il computer più venduto è il
microcomputer. I computer di media grandezza sono i mi¬
nicomputer, e i computer giganti che qualche volta si vedo¬
no nei film di fantascienza sono computer “mainframe”.
Fino a 15 anni fa tali computer erano, in termini pratici, i so¬
no
r
TT
TT
TT
TT
-□-c:
me
n
[T
IBI
tei
■■I
IBI
GLOSSARIO r -
IBI
IBI
IBI
IBI
IBI
t
n
n
rr
n
1_L
IBI
IBI
J
li disponibili.
Memory — Dentro un computer ci sono due tipi di memo¬
ria. La prima chiamata ROM, è la memoria che arriva già
programmata sul computer e che dice al computer come
prendere decisioni e come compiere operazioni aritmeti¬
che. Questa memoria non è cancellata se si spegne il com¬
puter. li secondo tipo è la RAM. Questa memoria mantiene
il programma che è stato scritto sulla tastiera o che è tra¬
smesso all’interno tramite una cassetta o un disco. La
maggior parte dei computer "dimenticano” ciò che è in
RAM quando vengono spenti.
Microprocessor — Il cuore di qualsiasi computer. Richie¬
de le interfacce con le unità periferiche, l'alimentazione di
energia e i congegni di input e output. In tal modo può ope¬
rare come un microcomputer.
MODEM — Sta per Modulatore/Demodulatore. È un appa¬
rato che permette a due computer di parlare fra loro per te¬
lefono. Generalmente i computer usano un supporto nel
quale è posto un ricevitore telefonico.
Monitor — Nel linguaggio dei computer ha due significati.
Un significato è uno schermo simile a quello televisivo. Un
monitor ha serie difficoltà ad adattarsi ai programmi televi¬
sivi e generalmente l’immagine prodotta su un monitor è
migliore di quella prodotta da una comune Tv. Il secondo si¬
gnificato di un monitor si rapporta alla ROM. Il monitor di
un computer è descritto come il complesso di informazioni
incorporate nel computer all'atto dell’acquisto. Queste in¬
formazioni permettono di prendere decisioni e di compiere
calcoli aritmetici.
Motherboard — Una struttura alla quale possono essere
aggiunti circuiti extra. Questi circuiti spesso offrono facili¬
tazioni che non sono incorporate nel computer, come quel¬
la di produrre suoni o di controllare una penna ottica.
MPU — Abbreviazione per Microprocessor Unit.
N
Nano-secondo — Un nano-secondo è un millimiliardesi-
mo di secondo, l’unità di tempo con la quale si misura la
velocità di un computer o di un microcircuito di memoria.
Non-Votatile Memory — La memoria che non si perde
quando il computer è spento. Alcuni computer più piccoli
in
■■1
n
IBI
MI
1 ' ' “ P
■■1
MI
MI
IBI
TT
i
c
■■1
IH
■WS
MI
MI
MI
IBI
IBI
•S
_
-Li.
1_L
_LL
LI
■■1
n
n
rr
■■
come il TRS-80 Pocket Computer hanno “non volatile me-
mory”. Le batterie mantengono il programma inserito per
settecento ore.
Not ■ Un’operazione booleana che trasforma una cifra bi¬
naria nel suo opposto.
Nuli String — Una “stringa” che non contiene caratteri.
Nel programma compare sotto forma di due doppie virgo-
lette, senza niente fra di loro.
Numerico — Concerne i numeri quando sono opposti alle
lettere (cioè alfabetico). Molte tastiere sono alfanumeriche,
sono cioè provviste sia di numeri sia di lettere.
o
Octal — Un sistema numerico che usa otto come base e
quindi le cifre da 0 a 7. Tale sistema non è oggi molto usato
nel settore dei microcomputer. Il sistema esadecimale è
più comune (vedi Hexadecimale)
Operating System — (Sistema operativo) — Il software e
il firmware, generalmente previsti su una macchina che
permette di far girare altri programmi.
OR — Un'operazione booleana che ritorna a 1 se uno o più
input sono 1.
Oracle (Oracolo) — Un metodo di messaggi invianti test
tramite un segnale di trasmissione televisiva. Un set di tele¬
test è richiesto per decodificare i messaggi.
Output — Informazioni o dati trasmessi dal computer a
congegni quali uno schermo come quello televisivo, una
stampante o una cassetta. L'output generalmente consiste
in un’informazione che il computer ha prodotto come risul¬
tato della elaborazione di un programma.
Overflow — Un numero troppo grande o troppo piccolo
per essere elaborato dal computer.
P
Pad — Vedi Keypad
112
r
i
et
t]
X
__ _c:
:r
Pagina — Spesso usata per indicare la quantità di informa¬
zioni necessaria per riempire uno schermo televisivo. Così,
vedendo una pagina del programma, è possibile analizzare
la quantità di informazioni che appaiono sul video tutte in
una volta.
PASCAL — Un linguaggio ad alto livello.
Periferico — Qualsiasi cosa che è collegata e controllata
dal computer, come un’unità a disco, una stampante o un
sintetizzatore vocale.
Port — Un connettore attraverso il quale le informazioni
sono trasmesse o inserite nel computer.
Preste! — Il nome inglese per un sistema basato sulla tra¬
smissione di informazioni via telefono da un computer cen¬
trale e sulla loro visualizzazione su uno schermo televisivo.
Negli Stati Uniti una versione commerciale simile è nota
come "The Source”.
Program — Nel linguaggio computer può essere una lista
di istruzioni che si inseriscono nel computer, oppure può
essere un verbo, cioè "programmare un computer”.
PROM — Sta per Programmable Read Only Memory. È un
sistema che può essere programmato e, una volta che lo è
stato, il programma è permanènte (vedi anche EPROM e
ROM).
R
Random Access Memory (RAM) — La zona di memoria
entro il computer che può essere cambiata a comando dal¬
la persona che usa il computer. Il contenuto della RAM è di
solito perduto quando un computer è spento. La RAM è l'in¬
tegrato che memorizza ciò che viene scritto e anche i risul¬
tati di calcoli in atto.
Read-Only Memory (ROM) — In contrasto alla RAM, l’in¬
formazione qui non può essere cambiata dall’utente e non
va perduta quando si spegne il computer. I dati della ROM
sono collocati dal produttore e dicono al computer il modo
con cui deve prendere decisioni e come compiere calcoli
aritmetici. La misura di capacità della ROM e RAM è data
in unità K (vedi K).
Recursion — La ripetizione continua di una parte del pro¬
gramma.
113
_r
■ai
■■1
IBI
■■1
n
K j
IBI
IBI
IBI
IBI
IBI
n
■i
IBI
IBI
14 -
IBI
IBI
T_ GLOSSARIO
IBI
IBI
IBI
■■!
IBI
IBI
L
H
H
II
n
n
□_ _ C_
H
H
IBI
IBI
IBI
T
Registro — Una specifica sezione della memoria nella
quale uno o più parole di computer sono memorizzate nel
corso delle operazioni.
Parola Riservata — Una parola che non può essere usata
per una variabile in un programma perché il computer la
leggerà in modo errato. Un esempio è la parola TO. Poiché
TO ha uno specifico significato nel linguaggio dei compu¬
ter, la maggior parte dei calcolatori respinge questa parola
come nome per una variabile. Lo stesso vale per parole co¬
me FOR, GOTO e STOP.
Routine — Questa parola può essere usata come sinoni¬
mo di programma o può riferirsi a una specifica sezione
aH’interno del programma (vedi anche Subroutine).
s
Seconda Generazione — Ha due significati. Il primo si ap¬
plica nei confronti dei computer che usano transistor, in op¬
posizione alla prima generazione di computer che usavano
valvole. La seconda generazione può anche indicare la se¬
conda copia di un particolare programma. Susseguenti ge¬
nerazioni sono danneggiate da un disturbo crescente.
Semiconduttore — Un materiale che è generalmente un
isolante elettrico, ma sotto specifiche condizioni può diven¬
tare un conduttore.
Serial — Informazione che è memorizzata o inviata in una
sequenza, un bit alla volta.
Segnale — Un impulso elettrico che trasmette dati.
Silicon Valley — Il nome popolare dato a una zona in Cali¬
fornia dove si trovano molti produttori di semiconduttori.
SNOBOL — Un linguaggio ad alto livello.
Software — Il programma inserito nel computer dall’uten¬
te. Questo programma dice al computer cosa fare.
Software Compatible — Si riferisce a due differenti com¬
puter che possono accettare i programmi scritti per l’altro.
Static Memory — Un congegno di memoria non volatile
che trattiene le informazioni per tutto il tempo che il com¬
puter è acceso. Tuttavia, non richiede ulteriori consumi di
energia per mantenere in ordine la memoria.
Subroutine (Sottoprogramma) — Parte di un programma
che è spesso inserita molte volte durante l’esecuzione del
programma principale. Una subroutine finisce con un’istru-
114
r
ibi
hi
■■■
IBI
IBI
IBI
IBI
IBI
IBI
IBI
li
4
IBI
IBI
■■■
■■■
IBI
IBI
IBI
IBI
IBI
IBI
(ìLOSSARIO r-j-
IBI
IBI
IBI
IBI
IBI
IBI
IBI
IBI
zione che comanda di ritornare indietro alla istruzione suc¬
cessiva a quella che aveva inviato lo svolgimento del pro¬
gramma alla subroutine.
T
Teletext — Informazione trasmessa nella sezione superio¬
re di un’immagine che appartiene a una trasmissione tele¬
visiva. Richiede una struttura speciale per essere decodifi¬
cata e per riempire il video di informazioni riguardo il test. I
messaggi teletext possono anche essere trasmessi tramite
un cavo, per esempio, il servizio Prestel in Gran Bretagna o
The Sources negli Stati Uniti.
Teletype — Un apparecchio simile ad una macchina da
scrivere che può mandare, ricevere e stampare informa¬
zioni.
Terminale — Un’unità indipendente dell’unità centrale di
elaborazione. Generalmente consiste di una tastiera e di
un visore.
Time Sharing — Un processo attraverso il quale molti
utenti possono aver accesso a un grande computer che si
sposta rapidamente da un utente all’altro in sequenza, co¬
sicché ogni utente ha l’impressione di essere il solo utente
del computer.
Truth Table (Tavola della verità) — Una tavola matematica
che elenca tutti i possibili risultati di un’operazione boolea-
na. I risultati dipendono dalle varie combinazioni di input.
u
UHF — Ultra High Frequency (300-3000 MegaHertz).
Ultra Violet Erasing — La luce ultravioletta deve essere
usata per cancellare le EPROM (vedi EPROM).
V
Variabile — Una lettera o combinazione di lettere e simbo-
115
i I
IL
c
GLOSSARIO
ih
_ . r:_c„
T
li a cui il computer può assegnare un valore o una parola
durante il funzionamento di un programma.
VDU — Abbreviazione per Visual Display Unit.
Volatile — Indica la memoria che “dimentica” le informa¬
zioni in essa contenute quando il computer è spento.
w
Word (Parola) — Un gruppo di caratteri o una serie di cifre
binarie che rappresentano un’unità d’informazione e occu¬
pano una singola posizione di memoria. Il computer elabo¬
ra una parola come singola istruzione.
Word-Processor (Elaboratore di testi) — Una macchina da
scrivere altamente intelligente che permette a chi scrive di
manipolare il testo, di spostarlo, per giustificare margini e
per spostare interi paragrafi, se necessario, su un video pri¬
ma di mandare l’informazione sulla stampante. Questi ela¬
boratori hanno generalmente memorie, cosicché modelli di
lettere e testi di lettere, scritti precedentemente, possono
essere nuovamente stampati.
116
Traduzioni
SÌ
IBI
IBI
---
---
TRADII7IONI '
IBI
III
■■■
ibi
■■i
■■i
■ ■1
■■1
■ ■■
■ ■1
sa
il
n
XI
■■■
IBI
HI
■ ■1
j
SKYDIVER
2100 —
3020 —
3030 —
3500 -
3510 -
3520 —
3530 -
3540 —
3640 —
3650 —
3670 —
10030 -
Premi START per giocare
Non avevi
il paracadute aperto
BRAVO...
sei riuscito ad atterrare
sulla piattaforma con il
paracadute aperto...
punteggio
sei riuscito
ad atterrare 10 volte
il tuo punteggio finale:-
Per favore aspetta un momento
3D NOUGHTS AND CROSSED
3070 — Premi START per giocare
6000 — oppure un uomo contro di me
6020 — (Batti 1 o 2)
RACE
90 — Alto
3 — Basso
135 — Marcia miglia
620 — Un’altra partenza, Basso
LUNAR LANDING
486 — Carburante
830 — Il gioco è finito
835 — Punteggio elevato
840 — Premi START
970 — Sinistra< > Destra
998 — Buona fortuna
1010 — Ottimo punteggio
119
r
1 1 !
1
et
GIOCHIAMO CON AT ARI
T]
L
t
DECISION MAKER
80 — Quante sono le opzioni tra cui scegliere
90 — Quanti fattori influenzano la decisione
170 — Inserisci il nome della opzione
230 — Inserisci il nome del fattore
320 — Come valuteresti
330 — Sul
390 — Ecco cosa penso che dovresti fare:
SAFE CRACKER
15 — Premi START
1007 — Per favore aspetta
1040 — Ecco la cassaforte...shhhh! ! !
1043 — È meglio accendere la luce laterale. Non c’è nes¬
suno.... premi START
1050 — Così va meglio: ora puoi vedere cosa stai facendo
1070 — Premi START per fare un altro tentativo
2003 — Qual è il tuo primo numero da 1 a 99
2500 — Qual è il tuo secondo numero
3000 — Qual è il tuo terzo numero
3025 — Hai aperto la cassaforte
3028 — Bravo, c’erano delle monete in quella
cassaforte! ! !
3029 — Ora prova con quest’altra...
3850 — Giusto
3950 — Accidenti!! Hai fatto scattare l’allarme—Tagliamo
la corda... arriva la polizia
3960 — Hai preso ...monete dalle cassaforti
4000 — Hai sbagliato: prova ancora
TANK BATTLE
70 — Inserisci la durata del gioco
50 — Battaglia di carri armati
260 — Hai finito i colpi
270 — colpi 1
290 — colpi 2
800 — Il gioco è finito
120
cE
---
---
---
---
T'' TRADU7IONI III
---
---
---
---
h
T
r
DIGIT DODGE
11 — alto
1000 — ..invaso..
1040 — ottimo punteggio! ! !
1050 — Un altro tentativo
1055 — Arrivederci.
GRAND PRIX 2
1000 — sei andato a fracassarti!
1030 — il tuo punteggio è — premi qualsiasi tasto.
2005 — il tuo punteggio
2040 — ora la velocità è
CITY BOMB
100 — Quale livello di difficoltà (1-9)
1000 — Sei atterrato!
1040 — Bravo, il tuo punteggio era
2140 — Vuoi riprovare?
5010 — Punteggio
10012 — City Bomb - Per favore aspetta
ENGULF
5010 — Hai colpito l’alieno, capitano
5020 — e sei stato distrutto
6510 — L’hai sconfitto! Bravo
6520 — Ti ha preso — colpi
6530 - e ce l’hai fatta in — unità di tempo — rimaste
6550 — La tua valutazione è
6570 — Finora il punteggio più alto è
6590 — Premi 1 per giocare ancora e 2 per smettere
6620 — Oltre e fuori, capitano
7010 — Su quale settore sparerai
7020 — Attraverso
7040 — E in basso
7070 — Settore già distrutto
8030 -L’alieno rileva il pericolo del fattore-
121
r
■
1
f I
1
cr
li, GIOCHIAMO CON ATARI "
P
L
T
8050 — Il computer del Battlestar riferisce: — il punteg¬
gio massimo è
8090 — Ora l’alieno ha
8110 — Tempo a disposizione — colpi sparati
COLOUR PUZZLE
1080 — Bravo! Hai risolto il puzzle.
2060 — Peccato! Prova ancora.
2110 — Era rimasto — da riempire
SOUND PROGRAM
105 — Premi i tasti per modificare
106 — Note. Per risentirle premi ‘ESC’
170 — Quale tempo (1-4)
REACTION TIMER
32 — Nome del giocatore N. 1.
33 — Nome del giocatore N. 2.
1000 — Imbroglione! Hai premuto il pulsante troppo presto
3000 — Vince!... con un tempo di:-
5080 — Premi il pulsante ’FIRE’ quando sei pronto
6000 — Vince il gioco!!...
MORSE CODE
100 — Traduttore in codice Morse
120 — Batti il messaggio che vuoi sentire:-
122
TRADUZIONI
SPACE DOCKER
101 — l’aria è finita
150 — premi START
1020 — hai attraccato
1100 — ossigeno avanzato
10060 — stai perdendo aria
10070 — e devi attraccare alla
10080 — nave appoggio che
10090 — sta passando...Buona fortuna!
SKI RUN
30 — Assicuratevi di registrare questo programma
40 — prima di provare a eseguirlo!
123
A
1
C±
' ANNOTAZIONI '
±]
A
T _C-
124
Computer Games
Tanti fantastici programmi, con la traduzione
in italiano, appositamente ideati per questa
collana e in grado di garantirvi ore e ore di
svago istruttivo e divertente.
Tra i giochi spettacolari di questo libro:
ATTERRAGGIO SULLA LUNA (come atterrare sani e
salvi con il modulo lunare); DECISIONI DIFFICILI (il
computer vi aiuta a decidere); IL PARACADUTISTA (se
soffrite di vertigini non fate questo gioco!); LO
SCASSINATORE (10 tentativi prima che arrivi la
polizia); IL CACCIATORE DI NUMERI (lotta senza
quartiere contro i numeri invasori); IL GENERATORE DI
COMPLIMENTI (il tirami-su per i depressi); LO
SCIATORE (...e la Coppa del Mondo sarà vostra);
CONTRO L’ALIENO (attacco al vostro incrociatore
spaziale).
“GIOCHIAMO CON ATARI" vi aiuterà moltissimo,
giocando, a migliorare la vostra abilità fornendovi non
solo tutte le istruzioni per inserire correttamente i
programmi nel vostro computer, ma anche un
utilissimo glossario dei termini essenziali e preziosi
consigli e indicazioni su come modificare e migliorare i
programmi del libro o realizzarne di nuovi.
CL 006-0121-7 ISBN 88-7605-121-1
L. 9.500 (i.i.)
6